我已经评估了大多数 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 是多少?