分布式key/value存储系统比较

先介绍一下绍一些流行的分布式key/value存贮系统,并做一些简单的比较。

词汇与背景阅读:

Distributed Hash Table (DHT) and algorithms such as Chord or Kadmelia

Amazon's Dynamo Paper, and this ReadWriteWeb article about Dynamo which explains why such a system is invaluable

Amazon's SimpleDB Service, and some commentary

Google's BigTable paper

The Paxos Algorithm - read this page in order to appreciate that knocking up a Paxos implementation isn't something you'd want to do whilst hungover on a Saturday morning.

现有比较流行的key/value存储系统:

以下评论来源于源码天堂

我所寻找的系统是一个低延迟,自动复制,分布式的key/value存贮系统,扩展简单,维护方便,api也非常简单,只是简单hash维护,set,get,delete等等,因而,以上列表中有5个并不能达到要求,但是他们还是值得一提的:

1、Hbase 在hadoop中有重要的应用,然而因为延迟现象严重,所以并不适合我们的需要

2、Hypertable 受google的 bigtable项目而创建,最近百度成了他的赞助商,但是这个项目同样因为延迟而不符合要求

3、 Cassandra 好像Facebook从来没有真正把它当作开源项目运作,极度缺乏文档。

4、CouchDB 总体来说是个不错的项目,可以通过RESTful HTTP/JSON API 与数据交互,然而应该来说还不够成熟,要达到像数据库字段一样的存储,包含一个一个字段的内容,还有有一段路要走

5、ThruDB 不错的文档存储引擎,包含了四个部分,但是因为与Couchdb同样的原因,也被放弃了。

除去以上5个,剩下列表中的都可以作为分布式KV存储系统的备选,基本上都有很好的扩展性,以及low latency