常见key-value 存储系统

Berkeley DB

1991 年,软件库可构建嵌入式key-value 数据库,C 语言,被MySQL使用。

memcached

2003 年,分布式全内存数据库,C 语言,使用网站:YouTubeRedditFacebook,和Twitter

BigtableHbase

2004 年、2007年,基于DFS 的NoSQL 数据库,Java 语言,2010 年Facebook 开始使用Hbase

Hypertable

2009 年,灵感来自Google Bigtable,C++,百度

Cassandra

2008 年,key-value 数据库,Java 语言,Facebook 开发

couchDB

2005 年,使用JSON 保存数据的NoSQL 数据库,Erlang 语言,IBM 开发

Dynamo

2007 年SOSP 论文,结构key-value 存储,Java 语言(未开源),Amazon S3 使用

MongoDB

2009年,面向文档的数据库系统,C++ 语言,使用网站:SourceForgeThe New York Times

Redis

2009年,类似但优于memcached、基于内存、优化耐久性key-value 数据库,C 语言,VMware 赞助

Brewer 的 CAP 理论

Brewer 在 2000 年基于他在伯克利大学的工作以及对 Inktomi 的观察上提出了 CAP 理论(牛人就是观察出的理论啊!),这之前(1997 年SOSP Cluster-Based Scalable Network Services 和1999年 Cluster-Based Scalable Network Services)他和他的同事也提出了应该在高扩展性系统做出取舍权衡,所以在 2000 年提出的这个理论也不是一个特别意外新颖的观点,和许多著名的理论相同,他们都是建立大量工作和牛人基础之上的。

继续阅读