1、Voldemort
Voldemort是一个分布式Key/Value存储系统,它具有以下特点:
●数据自动在多个服务器之间复制;
●数据自动分区,因此每个服务器只包括整体数据的一个子集;
●服务器故障处理是透明的;
●支持插入式序列化,允许丰富的Key和Value类型,包括列表和元组,也可以集成常见的序列化框架,如Protocol Buffers,Thrift,Avro和Java Serialization;
●数据项支持版本化,即使在故障情况下,数据完整性也可以得到保障;
●每个节点都是独立的,无需其他节点协调,因此也没有中央节点;
●单节点性能优秀:根据机器配置、网络、磁盘系统和数据复制因素的不同,每秒可以执行10-20k操作;
●支持地理分散式部署。
2、Dynamo
Dynamo是亚马逊的key-value模式的存储平台,可用性和扩展性都很好,性能也不错:读写访问中99.9%的响应时间都在300ms内。
接下来对 Dynamo 需要的一些特性做一下简要的描述:
●Cost-effectiveness - 省钱!Dynamo 不像一些商用数据库产品,需要昂贵的服务器来得到良好的性能,而且可能增加5%的访问量会需要你花2万美刀去买一台新服务器。而在 Dynamo上,由于是利用一堆廉价机器来存数据,于是你可能只需要花个500刀买个破机器加入到集群里就行了。
●Dynamo 是一个Key-Value 存储 - 因此他不支持外键和关联查询什么的。其Value值是二进制存储的,所以查询条件也只能作用在Key 上。
●配置简单的分布式存储 - 这是由于Dynamo是去中心化地设计,在集群中它的每一台机器都是对等的,不像 MongoDB 这样的中心化设计,于是它也不会有单点问题。
3、memcachedb
memcachedb是一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是不需要严格事务约束,能够被持久化保存的应用场景,例如memcachedb被应用在新浪博客上面。