web-dev-qa-db-ja.com

MongoDB変更ストリームのレプリカセットの制限

変更ストリームをレプリカセットでのみ利用できるようにする理由は何ですか?

10
Daniel F

変更ストリームの実装はoplogに基づいています。oplogはレプリカセットでのみ使用できます。もう1つの理由は、レプリカセットにスタンドアロンノードの機能のスーパーセットが含まれており、本番環境アプリケーションに推奨されるMongoDBデプロイメントであることです。したがって、推奨される運用展開トポロジに基づいて、変更ストリーム機能を実装することは理にかなっています。

もう1つの主な理由は、変更ストリームがレプリカセットの設定でロールバックされないドキュメントを出力するためです( レプリカセットのフェールオーバー中のロールバック を参照)。したがって、 大部分の読み取りの懸念 =は要件です。

変更ストリームは、シャードクラスターと単一ノードのレプリカセット(つまり、このセットアップは一般的には推奨されませんが、メンバーが1つだけのレプリカセット)でも利用できます。

変更ストリームの高レベルの説明は [変更ストリーム]ページ にあります。

変更ストリームの設計の概要は SERVER-13932 にあります。

18
kevinadi

私の環境はWindowsで、次の手順が役立ちました。

  1. _"C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg"_を検索
  2. 以下のコードを、必要な_mongod.cfg_およびオプションに追加します。詳細: Mongoレプリケーションオプション

    _replication:
     replSetName: "rs0"
    _
  3. MongoDBプロセスを再起動します。

    _Windows->Task Manager->Services->MongoDB [run restart]
    _
  4. コンソールで実行_mongo 127.0.0.1:27017_

  5. 次にrs.initiate()を実行します

その結果、次のようなものができて幸運です。

_> rs.initiate()                                                                               

        "info2" : "no configuration specified. Using a default configuration for the set",    
        "me" : "127.0.0.1:27017",                                                             
        "ok" : 1,                                                                             
        "$clusterTime" : {                                                                    
                "clusterTime" : Timestamp(1584218777, 1),                                     
                "signature" : {                                                               
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),                   
                        "keyId" : NumberLong(0)                                               
                }                                                                             
        },                                                                                    
        "operationTime" : Timestamp(1584218777, 1)                                            
}                                                                                             
rs0:SECONDARY>                                                                                
_
0
Roman