3つのスタンドアロンMongoDBデータベースサーバーがあり、それぞれデータが異なりますが、データベースとコレクション名は同じです。それらをレプリケートされたセットに変換しましたが、プライマリサーバーから読み取るたびに、レプリケートされたセットの初期化前の特定のサーバーにあったデータのみを取得します。これは予想される動作ですか?3つのデータベースすべてにあるデータを読み取る前に、すべてのサーバーが同期するのを待つ必要がありますか?
1 に答える
0
レプリカ セットを初期化すると、各セカンダリはプライマリからデータを同期して、すべてのノードがデータの同じコピーを持つようにします。データの「マージ」はありません。セカンダリになった 2 つのノードは、データを完全に消去して再同期します。
http://docs.mongodb.org/manual/core/replication-internals/#syncingを参照してください。
2 つのセカンダリからのデータがどこにもバックアップされていない場合は、失われた可能性があります。
于 2012-10-03T20:47:17.317 に答える