是否有经过业务validation的云存储/ Key => Value Database? (开源)
我一直在寻找云计算/存储解决scheme很长时间(受Google Bigtable的启发)。 但是我找不到一个易于使用的,业务就绪的解决scheme。
我正在寻找一个简单的,容错的,分布式Key => ValueDB,就像Amazon的SimpleDB一样。
我看过像这样的东西:
- CouchDB项目 :简单和分布式的容错数据库。 但它只理解JSON。 没有XML连接器等
- 桉树 :漂亮的亚马逊EC2接口。 开放标准和XML。 但分布较less,容错较less? 还有很多XEN / VMWare问题的公开门票。
- Cloudstore / Kosmosfs :很好的分布式容错fs。 但是很难configuration。 有没有Java连接器?
- Apache Hadoop :好的系统,更多的是存储数据的能力。 使用自己的Hadoop分布式文件系统,并已在2000个节点的集群上进行testing。
- * Amazon SimpleDB :无法find开源替代品! 对于大量的数据来说,这是一个不错的但昂贵的系统。 你沉迷于亚马逊。
那里有其他更好的解决scheme吗? 哪一个是最好的select? 哪一个提供最less量的SOF(单点故障)?
MongoDB是与CouchDB非常相似的另一种select,但是使用与SQL非常类似的查询语言,而不是JavaScript中的map / reduce。 它还支持二进制数据的索引,查询分析,复制和存储。
它有大量的文件可能是拳头压倒,所以我build议从开发者之旅开始
如何memcached ?
高可扩展性博客涵盖了这个问题。 如果你有一个开源的解决scheme,它肯定会在那里。
其他项目包括:
- 伏地魔计划
- Lightcloud – 键值数据库
- Ringo – 不可变数据的分布式键值存储
另一个好名单: 反RDBMS:分布式键值存储列表
维基百科说,雅虎都贡献了Hadoop,并在生产中使用它 ( 从维基百科链接文章 )。 所以我会说这是重要的业务certificate,虽然我不确定它是否计为K / V值数据库。
不在您的列表中的是使用MySQL作为简单的无模式键/值存储的Friendfeed系统。
我很难理解你的优先事项。 CouchDB是简单的,容错的,并且是分布式的,但是不知何故,你将它排除在外,因为它没有XML。 XML和Java连接器是不需要的吗?
(无论如何,CouchDB实际上应该被排除在外,因为它很年轻,它的API不稳定,而且不是一个关键价值的商店。)
我使用Google的Google Base API,它是Xml,免费的,文档化的,基于云的,并且具有多种语言的连接器。 我想这会填补你的账单,如果你想免费托pipe了。
现在,如果你想要托pipe你自己的服务器东京内阁是你的答案,它的关键=>基于价值,使用平面文件,并且是目前最快的数据库(与甲骨文相比,非常准系统,但非常擅长存储和访问数据,每秒大约100万条logging,大约10字节的开销(取决于存储引擎))。 至于业务方面,TokyoCabinet是一个名为Mixi的服务的核心,这个服务相当于日本的Facebook + MyPage,拥有数百万重用户,所以它实际上已经被certificate是非常成功的。
如果你想要Bigtable之类的东西,你不能超越HBase或者Hypertable–它们都是开源的Bigtable克隆。 但是有一点需要考虑的是,如果你的需求对于Bigtable来说真的足够大的话。 它可以扩展到数以千计的平板电脑服务器,因此它有相当多的基础设施来支持(例如,处理常规节点故障的预期)。
如果您不希望增长到至less数十台平板电脑服务器,您可能需要考虑其中一个备选scheme:为了简单起见,您无法击败BerkelyDb,或者无处不在。 如果你只需要一个键/值数据存储,你可以在你的数据库接口上放一个简单的“字典”包装,如果你超出了数据库接口,你可以切换出你的后端。
你可能想看看在google的bigtable之后build模的hypertable 。
使用CouchDB
- JSON有什么问题?
- JSON到XML是微不足道的
你可能想看看这个(使用MySQL作为键值存储):
Cloudera是一家将Apache Hadoop商业化的公司,当然还有一些附加价值,如产品化,configuration,培训和支持服务。
而不是寻找谷歌的bigtable 灵感 –为什么不直接使用bigtable? 您可以在Google App-Engine上撰写前端。
东京内阁还支持表格模式,键值对和散列表,因此也受到了一些关注。 它使用Lua作为embedded式脚本平台,并使用HTTP作为通信协议。这是一个很好的演示 。