【问题标题】:Can MongoDB work when size of database larger then RAM?当数据库大小大于 RAM 时,MongoDB 可以工作吗?
【发布时间】:2011-03-08 14:11:20
【问题描述】:

或者当索引大于 RAM 时?

【问题讨论】:

  • 当您说“可以工作”时,您的意思是“表现良好”还是“功能正常”?
  • 感兴趣的是它是否可以工作,它的工作速度有多快

标签: mongodb


【解决方案1】:

是的,它可以工作。它将执行到什么级别更多的是“取决于”

关键是要确保您的工作集可以放入 RAM。因此,例如,如果您有 16GB 的 RAM 和 20GB 数据库(包括索引),如果您只需要访问所有数据的一半,因为另一半较旧/从未实际查询过,那么您就可以了,因为只有一半数据库需要在 RAM (10GB) 中。

工作集是这里的关键。例如,如果您有一个日志应用程序输出到 MongoDB,那么您的工作集可能是过去 3 个月的数据量(和索引),而在此之前您无法访问的所有数据。

当您的工作集超过 RAM 的数量时,它会继续工作,但性能会明显下降,因为事情会不断地转到性能低得多的磁盘上。如果您处于机器上超出 RAM 限制的情况,那么这就是分片发挥作用的地方 - 因此您可以在多台机器上平衡数据,从而增加可以保存在 RAM 中的数据量。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2011-02-04
    • 2011-02-16
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    相关资源
    最近更新 更多