6

現在、マスターアプリケーションデータベースである、良好なリレーショナルSQLServer2008データベースがあります。私たちは、xmlデータ型を使用する既存のドキュメントストレージメカニズムを、類似しているが同一ではないドキュメントを処理できるスキーマレスなもので改善することを目指しており、couchdbが適していると考えました。

ドキュメントに関する一般的なメタデータは、表示/集計/レポートを容易にするためにSQLサーバー内に保存できますが、実際のドキュメントは、ドキュメントの微妙な違いを処理するためにソファに保存されます。アイデアは、2つの異なるテクノロジーを最大限に活用することです。

たとえば、ステータス、タイプ、関係者、作成日はすべてすべてのドキュメントで共通であり、SQLに保存されますが、電子メールと手紙(明らかに異なるフィールドを持つ)はソファに保存できます。

次に、SQLを介してクエリできるすべてのタイプのドキュメント(数千のドキュメント)のドキュメントグリッドを表示できますが、ユーザーがドキュメントの表示を要求すると、ドキュメントの表示はソファからデータを取得します。

一部のドキュメントタイプは、ドキュメント自体でもあるテンプレートから生成されることに注意してください(メールのマージ/検索および置換を考えてください)。

アプリケーション層は、asp.net 4.5、c#、リポジトリパターン、Windsor for ioc、JavaScriptです。

だから、質問に...

このアプローチは、2つの異なるデータストレージパラダイムを最大限に活用するための賢明な方法ですか?

「問題に最も適切な技術を使用したい」という願望で、プログラミングの生活を不必要に複雑にしているのでしょうか。

誰かが似たようなことを試みた経験はありますか?もしそうなら、それはどのように進みましたか?

4

1 に答える 1

2

ドキュメントに2つの異なるストレージ形式を使用することは実際には珍しいことではありません。1つは検索可能な側面とメタデータ用で、もう1つはプレゼンテーション用です。

より一般的な方法で見ると、アプローチは、デンマーク王立図書館で開発し、PlanetsEUプロジェクトで推進したアプローチと多少似ています。

http://www.researchgate.net/publication/221176211_Archive_Design_Based_on_Planets_Inspired_Logical_Object_Model

このアプローチをより一般的な方法で説明している別の論文があります: 「シュレディンガー図書館を開く」

目標はアーカイブでした。アーカイブまたは保存のためにドキュメントを変換する場合、元のドキュメントの属性、形式、外観、コンテンツなどを保存するすべての面で、単一のストレージ形式が優れていることはないと認識しました。解決策:いくつかの形式に変換し、洗練されたデジタルオブジェクトを使用して変換を追跡し、元のどの側面がどの変換で最もよく保存されたかを追跡します。

したがって、私の意見では、このアプローチは理論的および実際的に健全です。

実用的な問題:おそらく、ドキュメントのさまざまな部分を追跡するある種のデジタルオブジェクトが必要になります。1つのシステムでのみ発生するか(そしてどちらのシステムで発生するか)、または両方で発生します。この点でSQLserverを使用するようですが、それは理にかなっているようです。

私たちは実際に、この論文で説明したオブジェクトモデルを実装しましたが、最後に、彼らはまだそれを使用していると聞きました。

于 2012-11-30T10:39:33.707 に答える