繁体   English   中英

如何在生产环境中发布Mongo DB?

[英]How to release Mongo DB in production environment?

我最近在业余时间一直在使用Mongo DB(为了工作,我通常使用关系数据库,或者最近使用RDF三重存储),并且我有一个困扰我的问题。 当您开发了使用Mongo DB的应用程序并且现在需要在生产环境中部署它时,建议的发布数据库的过程是什么?

明确地说,我并不是在谈论简单地在服务器上部署现有数据库,而是对如何以适用于应用程序的状态初始创建数据库更感兴趣。

因此,例如,对于SQL数据库,您可能具有一组脚本,这些脚本可以创建数据库,创建所有必需的表,使用任何必需的数据初始化表,设置访问权限,视图等。

困扰我的是Mongo,如果您查询数据库,表等时不存在它们,那么它们将自动创建。 但是我知道可以用JS编写Mongo脚本来执行Mongo命令序列。

简而言之,我想问题是您是否需要编写这些设置和初始化脚本的麻烦,还是仅仅是安装Mongo并将应用程序指向它的情况?

与SQL数据库相比,为生产设置mongo可能需要做的工作要少得多。 而且在许多情况下,除了将您的应用程序指向一个空的mongo实例外,无需执行任何其他操作。

有时您会希望为某些集合添加数据。 有许多方法可以做到这一点。 您可以使用mongodump和mongorestore(它们可以用于单个集合或整个数据库)。 您可以通过mongo驱动程序或更高层次的包装程序(如mongoose)加载json文件。

您可能还想在某些集合上创建索引。 像mongoose这样的高级包装器将自动执行此操作,但是您可能需要编写一个脚本,该脚本使用在命令行中运行的集合上的索引来调用sureIndex。 没关系,数据库中没有文档。

我建议使用两种方式来部署MangoDB。 最好的方法是使用单个tar命令复制db数据目录。 然后获取.tar文件,并在您的生产环境中对其进行精确调整。 确保数据库版本兼容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM