現在、マスターアプリケーションデータベースである、良好なリレーショナルSQLServer2008データベースがあります。私たちは、xmlデータ型を使用する既存のドキュメントストレージメカニズムを、類似しているが同一ではないドキュメントを処理できるスキーマレスなもので改善することを目指しており、couchdbが適していると考えました。
ドキュメントに関する一般的なメタデータは、表示/集計/レポートを容易にするためにSQLサーバー内に保存できますが、実際のドキュメントは、ドキュメントの微妙な違いを処理するためにソファに保存されます。アイデアは、2つの異なるテクノロジーを最大限に活用することです。
たとえば、ステータス、タイプ、関係者、作成日はすべてすべてのドキュメントで共通であり、SQLに保存されますが、電子メールと手紙(明らかに異なるフィールドを持つ)はソファに保存できます。
次に、SQLを介してクエリできるすべてのタイプのドキュメント(数千のドキュメント)のドキュメントグリッドを表示できますが、ユーザーがドキュメントの表示を要求すると、ドキュメントの表示はソファからデータを取得します。
一部のドキュメントタイプは、ドキュメント自体でもあるテンプレートから生成されることに注意してください(メールのマージ/検索および置換を考えてください)。
アプリケーション層は、asp.net 4.5、c#、リポジトリパターン、Windsor for ioc、JavaScriptです。
だから、質問に...
このアプローチは、2つの異なるデータストレージパラダイムを最大限に活用するための賢明な方法ですか?
「問題に最も適切な技術を使用したい」という願望で、プログラミングの生活を不必要に複雑にしているのでしょうか。
誰かが似たようなことを試みた経験はありますか?もしそうなら、それはどのように進みましたか?