MongoDB

MongoDB是一个基于分布式文件存储的数据库,它是介于关系数据库和非关系数据库之间的产品。

2007年10月,MongoDB由10gen团队所开发,于2009年2月首度推出初始版本。

MongoDB支持的数据结构非常松散,类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。

开发语言: C++

HBase

HBase(Hadoop Database)是一个分布式的、面向列的开源数据库,是Google Bigtable的开源实现,是Apache Hadoop项目的子项目。Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些数据存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作。

HBase是由Powerset公司的Chad Walters和Jim Kelleman在2006年末发起的,第一个发布版本是在2007年10月和Hadoop0.15.0捆绑在一起发布的。2010年5月,HBase从Hadoop子项目升级成Apache顶级项目。

不同于一般的关系数据库,HBase适合于非结构化数据存储,此外,HBase采用基于列的而不是基于行的模式,每个列族都有几个文件保存,不同列族的文件是分离的。...

Leveldb

Leveldb是一个google实现的非常高效的kv数据库,LevelDB 是单进程的服务,性能非常之高,在一台4核Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。

OrientDB

Orient DB 是一个可伸缩的文档数据库,支持 ACID 事务处理。使用 Java 5 实现。

RocksDB

RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式。RocksDB 基于 LevelDB 构建。

Memcached

emcached是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的、巨大的hash表,来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说,就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

Memcached最初是danga.com的一个项目,最早是为 LiveJournal 服务的,首个版本(memcached.pl)于2003年5月22日发布。目前Memcached已经成为大规模互联网架构的重要组成部分。

Memcached是以守护程序方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。它使用非阻塞的网络IO,可以应对任意多个连接。由于它的工作机制是在内存中开辟一块空间,然后建立一个hash表,Memcached自管理这些hash表。

开发语言: C

Neo4j

Neo是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中。

Couchbase Server

Couchbase Server (前身是 Membase) 是一个基于 C/C++开发的跨平台的分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB的简单和可靠以及 Memcached 的高性能以及 Membase 的伸缩性。授权协议为Apache

Tair

"Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。Tair功能:Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。Tair除了普通Key/Value系统提供的功能,比如get、put、delete以及批量接口外,还有一些附加的实用功能,使得其有更广的适用场景,包括:Version支持> 原子计数器 Item支持 。Version支持:Tair中的每个数据都包含版本号,版本号在每次更新后都会递增。这个特性有助于防止由于数据的并发更新导致的问题。比如,系统有一个value为“a

RavenDB

RavenDB 是个新的.NET开源文档数据库。