mongoDB - 通过一个命令手动进行脱机复制

时间:2012-11-23 10:02:38

标签: mongodb replication offline

我想拥有2个数据库:生产和离线。我的系统将与生产系统一起使用。但有时我想将更改从生产数据库复制到脱机数据库。

在CouchDB中,你可以使用类似的东西:

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

还有其他方式:

  • mongodump / mongorestore
  • db.cloneDatabase(“db0.example.net”)

...在mongoDB中?我理解这些操作是复制数据库的完整内容。这是对的吗?

1 个答案:

答案 0 :(得分:1)

根据数据库系统的限制,这听起来像你有几个选项。除上述选项外,您还可以:

  • 将脱机数据库设置为辅助数据库,作为副本集的一部分。然后,此副本可用于离线工作,并与主数据库保持同步。对此的额外好处是,如果您遇到主要问题,您将始终拥有数据的附加副本。您可能希望将“离线”副本标记为隐藏,以便它永远不会接管为主要副本。有关详细信息,请参阅以下链接:Replication in MongoDBReplication Internals

  • 如果您真的只想要按时拍摄快照,那么另一种选择是备份您的数据库文件并将其还原到离线群集。执行此操作的方法因数据库设置和环境而异。以下是了解备份的良好开端:MongoDB Backups