我最近推出了一个尚未看到很多生产规模的网络应用程序,但我希望(希望;)它将在不久的将来.
我发现能够使用db.copyDatabase()非常有用的功能将当前生产系统的快照复制到开发中,并且我想知道随着生产数据库的增长/处于更重的负载下,我可能会遇到什么样的问题.
文档似乎并不表示该命令正在阻塞(特别是如果在命令运行时将数据添加到任一数据库,则会引发数据集变得不同步).
由于数据库被复制到开发(或登台)服务器,因此重建索引/等所花费的时间不会是一个大问题(至少有一段时间).
在这种情况下,文档对指南有点了解,所以我希望得到以下建议:
作为参考,应用程序和数据库是单独托管的(heroku/mongolab).我也在命令db.dropDatabase()之前在本地运行copyDatabase()以获得一个完全新的数据库.
不确定您是否知道,但您可以通过MongoLab的Web界面安排一次性或定期备份.这些备份可以转到您自己的自定义云存储容器(例如Amazon S3),也可以选择让MongoLab将其存储在其云存储容器中.
这些备份是二进制转储(通过MongoDB的mongodump工具获取),您可以直接从MongoLab的UI下载它们.
我们在共享实例上复制所有数据库,并尽一切努力从辅助数据库中删除备份,以最大限度地减少对主数据库的负载(备份可能非常耗费资源).
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |