3

高速読み取りのためのアプリケーションのニーズによるデータの複製と、データの整合性のためのデータの関係と、複製されたデータへの変更の自動配布を組み合わせたNoSQLデータベースまたは「すぐに使用できるソリューション」はありますか?

例:

エンティティ:

Topic
  - id
  - title
  - first_comment_id

Comment
  - id
  - topic_id
  - text

ドキュメント/マテリアライズドビュー:

TopicList
  - topic_id
  - topic_title
  - first_comment_text

トピックのタイトルを変更すると、データベースレイヤーでこのプロパティを含むすべてのドキュメントに変更が配布されます。したがって、整合性はデータベースによって管理されます。

スキーマのない動作をするMongoDBが本当に好きなので、Oracleやその他のリレーショナルデータベースは解決策ではありません。

4

1 に答える 1

1

私はMongoと参加エンティティ/ドキュメントの経験があるので、それに対する回答を提供します. コレクションに出力するマップ/リデュース クエリを Mongo で作成できます。この動作は非常に優れており、新しく作成されたコレクションが「準備完了」になる前 (map/reduce の実行が終了する前など) に、そのコレクションから読み取る際の問題を回避できます。

そのコレクションを最新の状態に保つために、外部プロセスを使用してスケジュールに従って map/reduce 関数を発行しました。これにより、クエリをもう少し恣意的にすることができます。

これにより、各エンティティに権限があり、一時的なコレクションが再度生成されたときに変更が表示されるため、一貫性も管理されると思います。もちろん、リアルタイムではないことに注意してください。

于 2013-01-11T04:33:31.943 に答える