web-dev-qa-db-ja.com

MongoDBの複数のクラスターデータの同期

このタイプの構成は可能ですか?

1)MongoDB-マスターからマスターへ同期する複数のクラスターデータ

2)MongoDB-複数のクラスターDR

3)MongoDB-複数クラスターBlue-Greenデプロイメント

2
Mouna Vignesh

1)MongoDB-マスターからマスターへ同期する複数のクラスターデータ

なので MongoDB jiraドキュメント MongoDBがマスターマスターレプリケーションを使用するように設計されていなかった理由 実際、マスターマスターはマスタースレーブよりもパフォーマンスが良いとは思わないでください。しかし、実際にスケールアウトするのは簡単です。

これについての私のポイントは、mongoが提供する機能が多すぎてすべてのDB要件をサポートできないことです。そのため、コアの設計ブリーフが失われます。これにより、mongo dbを使用すると混乱が生じます。

今日のmongoは、通常のデータストレージを満たすためのレプリカセットの展開と、大規模なデータストレージ用のシャーディングクラスターを提供しています。レプリカセットアーキテクトをシャーディングクラスターデプロイメントに変換するのは簡単ですが、アプリケーション側から同じクエリ操作の効率を維持するのは簡単ではありません。

そして、data engine.mongoのような他のものはMMap、WireTiger、また他のサードパーティのデータエンジンを提供します。これもアプリケーション開発者にパフォーマンスを最適化させます。

MongoDBはマスターマスターレプリケーションを行いません。

2)MongoDB-複数のクラスターDR

Ron GalbraithBMCドキュメント 2つのサイトにまたがるMongoDB構成-および手動のDRオプション (MongoDBの情報に基づいて)新しいプライマリサーバーを選出するマジョリティの形成に関連して問題が発生しますフォールトトレランスに関する戦略。

3)MongoDB-複数クラスターBlue-Greenデプロイメント

ブルーグリーンの導入戦略は、アプリケーション導入時のダウンタイムがゼロであることは、継続的デリバリーの重要な要件の1つです。また、展開中にサイトがダウンしてメンテナンスページが数日/週ごとに表示されることを望まない企業もあります。

これを達成するために、私たちは blue-greenデプロイメント を選択します。ただし、現在のレガシースタイルのデータセンターインフラストラクチャでこれを行う方法については、

スクリプトを使用して自動的に新しいマシンを回転させ、マシンを破棄することはできません。ロードバランサーからスクリプトを使用してインスタンスを追加/削除する機能はありません。

Sunit ParekhDecision 1のブログのドキュメントMongoDBデータベースでは、スキーマの移行などは必要ありませんでした。ただし、設計原則に従う必要がありました。常にデータモデルと下位互換性のあるコードを記述してください。また、データベースの移行が必要な場合は、展開後に実行する必要があります。

1

クラスターセットをレプリカセットとして構築し、データセンターごとに1ノード、アービターを3番目の場所に追加します(アービターは追加のリソースを必要としません。必要なときに投票するのは、単に「オブザーバー」です)。ノードの優先順位(> 1)を使用して、最初のDCでプライマリを維持します。

0
JJussi