レガシ システムの問題により、CQRS 読み取りモデルを SQL Server テーブルに格納することを検討しています (この質問のアプローチ 2 と 3 を参照してください)。
MongoDB などのドキュメント データベースを使用して読み取りモデルを実装したいのですが、現時点では外部システムを再加工できないため、すべてを rdbms に保持することで行き詰まっています。
適切に非正規化された方法でレコードを保存することを考えているので、典型的な Customer / Order / LineItems /etc など、すべてを同じ見方?[編集: 私が考えているのは、モデルをクエリするために必要なデータを別々のフィールドに入れ、完全なオブジェクトを「オブジェクト データ フィールド」に入れるということです]
レガシー システム (ほとんどが制御不能) のため、レガシー システム テーブルにトリガーを追加するか、sproc を変更して読み取りモデルを最新の状態に保つことを考えていますが、実際にデータ自体をどのように保存すればよいでしょうか?
どちらも.netアプリケーションから簡単にシリアル化/逆シリアル化でき、データベース内の他のアクティビティからのトリガーによって合理的に簡単に更新できるため、単純にJSONとしてフィールドに保存するか、XMLとして保存することを検討しました. (Xpath/XQuery は、慣れればそれほど悪くはありません。ここでの別の回答から、 T-SQLの JSON パーサーを見つけました)
より良いアプローチはありますか?そうでない場合、XML または JSON を使用する必要がありますか?