【发布时间】:2011-09-16 03:52:05
【问题描述】:
我已经评估了大多数 NoSQL 解决方案,似乎结合使用 MongoDB、Riak 和 HyperTable(或 HBase)是可行的方法。
这些数据库舒适运行的最低要求是什么?
假设我将这些数据库(MongoDB、Riak 和 HyperTable - 或 HBase)和 Web 服务器(如 nginx 或 Cherokee)和 Java/GlassFish 部署在一台运行 FreeBSD 且具有 32 GB RAM 的单机上,他们将如何表现?请注意,通过这种方法,整个 32 GB RAM 由所有应用程序平均共享。对于 Java/GlassFish 和 HBase,可以使用“-Xmx0000m”选项来限制它,但是对于那些数据库,它们会自动使用整个内存吗?我知道 MongoDB 是内存映射的——等等——那么当它们都在争夺内存时会发生什么? (我认为可以通过启动参数来限制 MongoDB、Riak 和 HyperTable 的内存利用率,但如何?)
或者,在 Solaris(或 OpenIndiana)上部署 Solaris 容器(或“区域”)虚拟化来限制每个应用程序是否是一种更好的方法,例如为每个 MongoDB、Riak 和 HyperTable/HBase 区域分配 4 GB?在这种方法中,所有数据库本质上都在仅 4 GB 的环境中运行?那么,为了让它们正常工作,最小的舒适 RAM 是多少?
【问题讨论】:
-
在合理的情况下,每个数据库的内存需求都 100% 取决于您要存储的数据量。
标签: memory mongodb hbase riak hypertable