MongoDB查询

对于相同的数据集和用法,MongoDB和MySQL之间的RAM要求是什么? (即在完全相同的情况下,每个RAM使用多less)?

确实,MongoDB保持完整的数据库在RAM中?

mongo将尝试始终保持整个数据库在RAM ..但作为操作系统需要内存的其他应用程序,它会释放mongo使用的部分。

mongo需要保留在RAM中的东西是保持快速的指标。

在我的应用程序中,mongo使用less得多的内存,然后使用mysql,但这取决于你有多less索引和数据集的大小。

Mongo对大数据集的一个主要问题是Mongo使用内存映射文件。 没有办法限制Mongo在机器上尝试使用的RAM的数量。 所以它基本上期望一台机器的全部资源,一个专用的盒子。 这只是一个问题,如果你的数据很大,特别是当你的索引比ram大的时候。 为了回答你关于数据的问题,MongodDB实际上只会尝试将索引保存在RAM中。

我们有小群(2个碎片),我们得到的要点是:

1)MongoDB在RAM中存储索引和尽可能多的数据(如上所述)是的,这是真的最好的方法是将所有的数据存储在内存中。 (我们的项目每天有大约一百万个独立用户和大约三千万个请求=>将所有数据存储在RAM中对我们来说非常重要)。

2)如果你的内存大小已经结束了,那么你需要划分你的mongo服务器(幸运的是,在MongoDB中configuration起来非常简单)

我们使用的主要存储空间是大约40GB的数据和10GB的索引。 在两个分别32GB的RAM上工作。