2012-01-23 8 views
10

私は最近MongodDbを使い始めました。私はレプリカセットとクラッシュリカバリについて探求しようとしています。MongoDBジャーナルファイルとoplogはどのように違いますか?

私はジャーナルファイルのように読んでいますが、ヘッドREDOログファイルを書いています。 oplogファイルは、すべての書き込みアクティビティが書き込まれるファイルです。

これら2つの違いは何ですか? マスターとスレーブの両方にoplogsがありますか? このエリアに光を当てたWebリンクを投稿してください。

答えて

13

Oplogは、このドキュメントを挿入したり、更新したりするなど、データベースを変更する高レベルのトランザクションを保存します(クエリは保存されません).Oplogはマスタに保持され、スレーブは定期的にマスタをポーリングして、操作(最後の投票以降)。オペレーションは、それらが冪等である(そして何度も安全に適用できる)ように、oplogに格納される前に変換されることがあります。

ジャーナルは任意のノード(マスタまたはスレーブ)でオン/オフを切り替えることができ、単一のmongoインスタンスのクラッシュリカバリと耐久性を目的とした低レベルの操作ログです。 低レベルの操作は、「この位置にあるこのファイルにこれらのバイトを書き込む」のように読むことができます。

+0

スレーブがサーバーで読み取ったoplog部分を保存するために使用するログは何ですか... – Uday

0

ジャーナルとoplogの間に関係がなければなりません。 w = 1のときには、一次jouranlにコミットし、replset収集用のoplogエントリも作成しました。私は少なくともreplSetのプライマリではないと思う - それらは両方とも同じフォーマットの更新/削除/挿入を含んでいる。

関連する問題