1

本番とオフラインの 2 つのデータベースが必要です。私のシステムは本番環境で動作します。しかし、時々、本番データベースからオフライン データベースに変更をコピーしたいと思います。

CouchDB では、次のようなものを使用できます。

POST /_replicate HTTP/1.1
{"source":"example-database","target":"http://example.org/example-database"}

次の方法以外に方法はありますか。

  • モンゴダンプ/モンゴリストア
  • db.cloneDatabase( "db0.example.net" )

...mongoDBで?これらの操作は、データベースのコンテンツ全体をコピーするものと理解しています。あれは正しいですか?

4

1 に答える 1

1

データベースシステムの制約に応じて、いくつかのオプションがあるようです。上記のオプションに加えて、次のこともできます。

  • レプリカ セットの一部として、オフライン データベースをセカンダリとして設定します。このレプリカはオフライン作業に使用でき、プライマリとの同期を維持できます。これの追加の利点は、プライマリで問題が発生した場合に備えて、常にデータの追加コピーを保持できることです。「オフライン」レプリカを非表示としてマークして、プライマリとして引き継がれないようにすることができます。詳細については、次のリンクを参照してください: MongoDBでのレプリケーション、レプリケーションの内部

  • 特定の時点のスナップショットだけが本当に必要な場合は、別のオプションとして、データベース ファイルをバックアップし、オフライン クラスターに復元することができます。これを行う方法は、データベースのセットアップと環境によって異なります。以下は、バックアップについて学習するための良い出発点です。MongoDB バックアップ

于 2012-11-23T20:13:36.347 に答える