AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

replica setメンバー

replica setのMongoDB mongod、冗長性と高可用性を提供する プロセスのグループです。replica setのメンバーは次のとおりです。

原発
プライマリは、すべての書き込み操作を受け取ります。
セカンダリ
セカンダリはプライマリからの操作を複製して、同一のデータ設定を維持します。 セカンダリには、特別な使用プロファイル用の追加の構成がある場合があります。 たとえば、セカンダリは 投票なし または 優先度 0 である可能性があります。

The minimum recommended configuration for a replica set is a three member replica set with three data-bearing members: one primary and two secondary members. In some circumstances (such as you have a primary and a secondary but cost constraints prohibit adding another secondary), you may choose to include an arbiter. An arbiter participates in elections but does not hold data (i.e. does not provide data redundancy).

replica set最大 50 のメンバーを含めることができますが、投票メンバーは 7 人だけです。

The primary is the only member in the replica set that receives write operations. MongoDB applies write operations on the primary and then records the operations on the primary's oplog. Secondary members replicate this log and apply the operations to their data sets.

次の 3 つのメンバーのreplica setでは、プライマリがすべての書き込み操作を受け入れます。 次に、セカンダリはoplogを複製してデータに適用します。

プライマリへの読み取りと書き込みのデフォルトルーティングの図。
クリックして拡大します

replica setのすべてのメンバーは読み取り操作を受け入れることができます。 ただし、既定では、アプリケーションは読み取り操作をプライマリ メンバーに指示します。 デフォルトの読み取り動作の変更の詳細については、「 読み取り設定 」を参照してください。

レプリカセットには、最大 1 つのプライマリを含めることができます。[1] 現在のプライマリが利用できなくなった場合、選挙によって新たなプライマリが決まります。詳細については、「レプリカセットの選挙」を参照してください。

セカンダリは 、プライマリのデータセットのコピーを保持します。データを複製するために、セカンダリはプライマリのoplog の操作を非同期プロセスで自分のデータセットに適用します。 []レプリカセットには2 1 つ以上のセカンダリを含めることができます。

次の 3 メンバーのreplica setは 2 つのセカンダリ メンバーがあります。 セカンダリはプライマリのoplogを複製し、その操作をデータに適用します。

プライマリと 2 つのセカンダリで構成される 3 つのノードレプリカセットの図。

クライアントはセカンダリにデータを書き込むことはできませんが、セカンダリ メンバーからデータを読み取ることはできます。 クライアントがレプリカ セットに読み取り操作を送信する方法の詳細については、 「読み取り設定」を参照してください。

セカンダリはプライマリになることができます。 現在のプライマリが使用できなくなった場合、 replica setどのセカンダリを新しいプライマリにするかを選択する選挙を開催します。

詳細については、 replica set選挙を参照してください。

セカンダリ メンバーを特定の目的に合わせて構成できます。 セカンダリは次のように構成できます。

[2]

replica setのセカンダリ メンバーは、適用に低速操作しきい値よりも長い時間がかかるoplogをログに記録するようになりました。 これらの遅い oplog メッセージ:

  • ログは、テキストapplied op: <oplog entry> took <num>msを含むREPLコンポーネントの下にあります。

  • ログレベルに依存しない(システムレベルでもコンポーネントレベルでも)

  • プロファイル レベルに依存しないでください。

  • slowOpSampleRateの影響を受けます

プロファイラーは遅い oplog エントリをキャプチャしません。

状況によっては (プライマリとセカンダリがあるが、コストの制約により別のセカンダリを追加できない場合など)、 replica setにアービターを追加することを選択できます。 アービターはプライマリーの選挙に参加しますが、アービターはデータのコピーを持っていないため、プライマリーになることはできません

アービターは、正確に 1 選挙票を持っています。 デフォルトでは、アービターの優先度は 0です。

重要

replica setのプライマリ メンバーまたはセカンダリ メンバーもホストするシステムでは、アービターを実行しないでください。

警告

シャーディングされたクラスターのシャードにプライマリセカンダリアービタ(PSA)アーキテクチャを使用すると、データを保持しているセカンダリが利用できない場合に可用性が失われる可能性があります。PSA クラスターは通常のレプリカセットとは異なります。シャーディングされたクラスターでは、操作の確認が必要な残りのクラスター ノードにアービタがある場合には完了できない w: majority 書き込み操作をシャードが実行します。

アービタを追加するには、「自己管理型レプリカセットへのアービタの追加 」を参照してください。

アービターを使用する際の考慮事項については、 replica setアービター」を参照してください。

[1]

状況によっては、 replica set内の 2 つのノードが一時的に自分たちがプライマリであると認識することがありますが、最大でそのうちの 1 つが{ w: "majority" }書き込み懸念で書き込みを完了できます。 { w: "majority" }書き込みを完了できるノードは現在のプライマリであり、もう一方のノードは、通常はネットワークパーティションが原因で降格をまだ認識していない以前のプライマリです。これが発生すると、以前のプライマリに接続するクライアントは、読み取り設定primaryを要求したにもかかわらず、古いデータを検出する可能性があり以前のプライマリへの新しい書き込みは最終的にロールバックされます。

このページを評価