??xml version="1.0" encoding="utf-8" standalone="yes"?> 那么多的 NoSQL 软gQ到底哪些更受欢q呢Qؓ此,开源中国社Zؓ你评选出10?010q最受关注的 NoSQL 软g?/p>
1. Cassandra Cassandra ?2010 q出风_但最l都以失败告l,包括 Twitter 以及 Digg 的案例我们不得不对 NoSQL 技术是否成熟,是否能在大规模系l中应用产生了怀疑。但qƈ不媄?Cassandra 拔得头筹Q因?Facebook 的支持?/p>
Apache Cassandra 是一?strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">开源分布式Key-Value存储pȝ。它最初由Facebook开发,用于储存特别大的数据?strong style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Facebook目前在用此pȝ?/p>
主要Ҏ: Cassandra 采用 Java 开发,Apache 授权协议?/p>
2. memcached memcached 是老牌的独立缓存服务的领头,目前国内使用该系l的|站非常的多Q在q基上还有国内开发的 memcachedb ?memcached 支持持久化存储?/p>
memcached 是一套分布式的快取系l,当初是Danga InteractiveZLiveJournal所发展的,但目前被许多软gQ如MediaWikiQ所使用。不q,memcached ~Z认证以及安全制 memcached 采用 C 语言开发,可在 Linux pȝ下用,采用 BSD 授权?/p>
3. Membase Membase ?NoSQL 家族的一个新的重量的成员,其完全兼?memcached 的方式,有望W络 memcached 的用L。Membase 的可伸羃性、集、复制以及管理方便等Ҏ又?memcached 无法Ҏ的?/p>
Membase 同样采用 C 语言开发,支持 Windows ?Linux pȝQ?Apache 授权协议?/p>
接下来介l两Ƒ֛产的 NoSQL 软gQ?/p>
4. Tair Tair 是由淘宝|自d发的分布式Key/Valuel构数据存储pȝQ在淘宝|有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆p?#8221;的时候,都在直接或间接地和Tair交互?/p>
Tair 采用 C 语言开发,支持 Linux pȝQ?GPLv2 授权协议?/p>
5. BeansDB BeansDB 是豆瓣网开发的一个主要针对大数据量、高可用性的分布式Key Value存储pȝQ采用HashTree和简化的版本h快速同步保证最l一致性(弱)Q一个简化版?nbsp;Dynamo?/p>
它采用类?a style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #3e62a6; outline-width: 0px; outline-style: initial; outline-color: initial; ">memcached的去中心化结构,在客L实现数据路由。目前只提供?Python版本的客LQ其它语a的客L可以由memcached的客LE加攚w得到?/p>
主要Ҏ包括: BeansDB 采用 Python 语言开发,支持 Linux pȝQ?BSD 授权协议?/p>
6. Redis Redis ?/span>一个高性能的key-value数据库?nbsp;redis?出现Q很大程度补偿了memcachedq类keyvalue存储的不I在部分场合可以对关系数据库v到很好的补充作用。它提供了PythonQRubyQErlangQPHP客户端,使用很方ѝ?/p>
Redis 的短板: Redis 采用 C 语言开发,支持 Linux pȝQ?BSD 授权协议?/p>
7. CouchDB Apache CouchDB 是一个面向文的数据库管理系l。它提供?JSON 作ؓ数据格式?REST 接口来对其进行操作,q可以通过视图来操U|的l织和呈现?CouchDB ?Apache 基金会的开源项目?/p>
CouchDB落实到最底层的数据结构就是两cB+Tree ?/p>
不过最q有消息?CouchDB 走一条不同于 NoSQL 的\子,具体情况如何我们只能拭目以待?/p>
CouchDB 是用 ErLang 开发的哦,跨^台支持,Apache 授权协议?/p>
8. Tokyo Cabinet
Tokyo Cabinet 是一个DBM的实现。这里的数据库由一pdkey-value对的记录构成。key和value都可以是L长度的字节序?既可以是二进制也可以是字W串。这里没有数据类型和数据表的概念?/p>
当做为Hash表数据库使用Ӟ每个key必须是不同的,因此无法存储两个key相同的倹{提供了以下讉KҎ:提供key,value参数来存储,?key删除记录Q按key来读取记录,另外Q遍历key也被支持Q虽焉序是L的不能被保证。这些方法跟Unix标准的DBM,例如GDBM,NDBM {等是相同的Q但是比它们的性能要好得多Q因此可以替代它? 当按B+树来存储Ӟ拥用相同key的记录也能被存储。像hash表一 LdQ存储,删除函数也都有提供。记录按照用h供的比较函数来存储。可以采用顺序或倒序的游标来d每一条记录。依照这个原理,向前的字W串匚w?索和整数区间搜烦也实C。另外,BQ树的事务也是可用的?/p>
Tokyo Cabinet 采用 C 语言开发,支持 Linux pȝQ?LGPL 授权协议?/p>
9. OrientDB Orient DB 是一个可伸羃的文档数据库Q支?ACID 事务处理。?Java 5 实现。OrientDB 最强的一个地Ҏ可以使用 c?SQL 的查询语句进行数据查询?/p>
OrientDB 采用 Java 语言开发,跨^台支持,使用 Apache 授权协议?/p>
10. Hibari Hibari Q在日语中意思ؓ“云雀”Q?span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">是一个专为高可靠性和大数据存储的数据库引擎,可用于云计算环境中,例如 webmail、SNS 和其他要求T/PU数据存储的环境中?/span>Hibari 支持 Java, C/C++, Python, Ruby, ?Erlang 语言的客L?/p>
Hibari q不是一个关pL据库Q主要是通过 key-value 的方法进行数据存储?/p>
Hibari 使用 ErLang 语言开发,支持 Linux/BSD pȝQApache 授权协议?/p>
来自Q?a >http://www.oschina.net/news/14209/2010-top-10-nosql-projects