2

私と私の大学は、MongoDB を使用してアプリケーションのすべてのデータを保存することについて考え直しています。ユーザーがプロファイルを登録または更新するときの Mongo の最終的な整合性 (または似ているがより重要な何か) のために、結果がすぐに表示されず、ユーザーを苛立たせる可能性があると考える人もいます。

大量のデータがあり、何らかのレプリケーションを行わない限り、結果整合性の効果は見られないでしょう。確信はないけど。

何かアドバイス?mongo のみを使用するか、機密データを格納するために SQL サーバーを追加しますか?

4

2 に答える 2

2

MongoDB は結果整合性はありませんが、非同期レプリケーションを備えています。スレーブから読み取らないこと (単純な接続フラグ) によって古い値を読み取るリスクを回避できます。または、戻る前にレプリケーションが完了するのを待機するフラグを使用して書き込むこともできます。後者のすべての詳細については、ドキュメントまたは getLastError コマンドを参照してください。

あなたが説明しているものにMongoDBを使用しても問題ありません。

于 2012-04-12T21:48:46.517 に答える
2

最初に別の質問に答えましょう。MongoDB の特別な機能が必要ですか、それとも単純な古いリレーショナル データ ストアを使用できますか?

私はそれに答えることができません (できます)。

答えが「いいえ」の場合は、すべてを ACID SQL データベースに切り替えることができ、そのような問題を心配する必要はもうありません。

NoSQL と SQL の間のトレードオフについて詳しく説明すると、このテキスト エディターの限界を超えてしまいます。それについてはWebで調べてみることをお勧めします。

于 2012-04-12T21:27:15.650 に答える