我感兴趣的是使用一个允许高性能的数据库,并期望集群需要大规模的水平扩展。
我们正在研究如何使用MongoDB,有人知道我是否可以使用InMemory(即出于性能原因在RAM中)?
TNX
您可以采用的性能提升方法是使用RAM磁盘
e.g:
mongod --smallfiles --noprealloc --nojournal --dbpath <ramdisk mounted localtion>
也可以看看:
实际上,这样做很容易。只需将syncPeriodSecs设置为0并禁用日记功能。为了防止创建大多数文件,只需启动mongod
mongod --noprealloc --nojournal
或者在mongod.conf
中配置的等效选项。
但是,无论您做什么,都将创建命名空间文件。如果您使用副本集,也将创建oplog文件。
为了确保您的mongodb不会占用所有可用内存并且插入不会在这种情况下抛出异常,您可能需要查看capped collections。
截至今天,最新版本的MongoDB,即v3.4在其企业软件版本的内存引擎中支持。如果你寻求开源版本,Percona的MongoDB是可行的。
Mongodb企业版:qazxsw poi
Percona的MongoDB产品:https://docs.mongodb.com/manual/core/inmemory/