我正在从事一个涉及相当CPU密集计算的兴趣项目。问题很明显是 embarrassingly parallel 的。这个计算需要在大量节点上进行(比如1000-10000)。每个节点几乎可以完全独立于其他节点地完成自己的工作。然而,整个系统需要回答来自系统外部的查询。大约每秒将需要回答 100000 次此类查询。为了回答这些查询,系统需要一些状态,有时会在两个节点之间共享。节点的计算最多需要 128MB RAM。
显然,我可能无法承担实际建造上述规模的系统,但我仍然对其工程挑战感兴趣,并想设置少数节点作为概念验证。
我正在考虑使用类似Cassandra和CouchDB的东西,在所有节点上具有可扩展的持久状态。如果我在每个节点上运行分布式数据库服务器,它将负载非常轻,但从运维的角度来看,让所有节点都相同非常好。
现在我的问题是:
有人能推荐一个分布式数据库实现,适合用于大量节点的集群,每个节点都只有很少的RAM吗?
Cassandra似乎能够满足我的需求,但http://wiki.apache.org/cassandra/CassandraHardware建议每个节点至少推荐4G RAM。
我没有找到CouchDB的内存需求,但考虑到它是用Erlang实现的,也许不会那么糟糕?
无论如何,欢迎提供建议、提示、意见!
显然,我可能无法承担实际建造上述规模的系统,但我仍然对其工程挑战感兴趣,并想设置少数节点作为概念验证。
我正在考虑使用类似Cassandra和CouchDB的东西,在所有节点上具有可扩展的持久状态。如果我在每个节点上运行分布式数据库服务器,它将负载非常轻,但从运维的角度来看,让所有节点都相同非常好。
现在我的问题是:
有人能推荐一个分布式数据库实现,适合用于大量节点的集群,每个节点都只有很少的RAM吗?
Cassandra似乎能够满足我的需求,但http://wiki.apache.org/cassandra/CassandraHardware建议每个节点至少推荐4G RAM。
我没有找到CouchDB的内存需求,但考虑到它是用Erlang实现的,也许不会那么糟糕?
无论如何,欢迎提供建议、提示、意见!