FAQ:レプリケーションとレプリカセット
項目一覧
このドキュメントでは、MongoDB のレプリケーションに関するよくある質問に答えます。 マニュアルの「 レプリケーション」セクションも参照してください。このセクションでは、次の詳細を含むレプリケーションの概要が説明されています。
MongoDB はどのようなレプリケーションをサポートしていますか?
MongoDB は、最大 50 のノードを含めることができるレプリカセットをサポートしています。
レプリケーションはインターネットおよび WA 接続経由で機能しますか。
はい。
たとえば、配置では、east コストのデータセンターにプライマリとセカンダリノードを維持し、west コストのデータセンターに障害復旧用のセカンダリノードを保持できます。
MongoDB は「ノイズ」接続を介して複製できますか。
はい、ただし接続失敗と明確なレイテンシがなければ適用されません。
セットのメンバーは、ネットワーク フラグに応答してセットの他のメンバーへの再接続を試みます。 これには、管理者の介入は必要ありません。 ただし、レプリカセット内のノード間のネットワーク接続が非常に遅い場合、ノードのノードがレプリケーションに追いつけない可能性があります。
レプリケーションがすでにデータの冗長性を提供している場合に、ジャーナリングを使用する理由
ジャーナリングにより、クラッシュからの回復がより迅速になります。
ジャーナリングは、レプリカセットが単一のデータセンターまたは電源回路に存在する場合、特に停電からの保護に特に役立ちます。
レプリカセットがジャーナリングを使用して実行されている場合、追加の介入なしで mongod
インスタンスを安全に再起動できます。
注意
ジャーナリングには、書込み操作にある程度のリソース オーバーヘッドが必要です。 ただし、ジャーナリングは読み取りパフォーマンスには影響しません。
ジャーナリングは、MongoDB v2.0 以降のすべての 64 ビットビルドでデフォルトで有効になっています。
アービタは残りのレプリカセットとどのような情報を交換しますか。
アービタはコレクションの内容を受け取らないが、レプリカセットの残りの部分と次のデータを交換します。
レプリカセットを使用してアービタを認証するために使用される資格情報。 これらの交換は暗号化されます。
レプリカセット構成データと投票データ。 この情報は暗号化されていません。 認証情報の交換のみが暗号化されます。
MongoDB の配置で TLS/SSL を使用する場合、アービタとレプリカセットの他のノードとの間のすべての通信が保護されます。
詳細については、 TLS/SSL 用にmongod
とmongos
を構成する に関するドキュメントを参照してください。 すべての MongoDB コンポーネントと同様に、アービタは安全なネットワークで実行してください。
レプリカセット メンバーは異なる量のディスク領域を使用するのが正常か
はい。
異なる oplog サイズ、ストレージのフラグメンテーションの異なるレベル、MongoDB のデータファイルの事前割り当てなどの要因により、ノード間でストレージ使用率にいくらか違いが生じる可能性があります。 異なる時間にノードを追加する場合、ストレージ使用量の差が最も大きくなります。
レプリカセットの名前を変更できますか。
はい、シャーディングされていないレプリカセットの名前を変更することができます。 この手順では、ダウンタイムが必要です。
レプリカセットの名前を変更する方法については、「自己管理型レプリカセットの名前を変更する 」を参照してください。
レプリカセットの名前を変更する前に、MongoDB 配置の完全バックアップを実行してください。