非关系数据库世界的终极向导
------------------------------------------------------------------------------------------------------------------
Nosql定义:下一代数据库大多专注于这几点:非关系型、分布式的、开源并且可以横向扩展。
原意图是成为新式的网络级数据库。这场运动开始于2009年早期,并快速成长。通常的特点,比如无模式、容易的备份支持、简单的API、最终一致/BASE、海量数据等等。因此误导性术语"Nosql"(社区现在大多数翻译为"not only sql")应该被看做是上面等译的一个别名。[基于7个方面、15个有建设性的邮件和一个讨厌的评论]
NOSQL数据库列表【当前有150个】
------------------------------------------------------------------------------------------------------------------
核心NOSQL系统:【大多源自于Web2.0的需要】
【宽列存储/列族】
Hadoop/HBase:
API:java/any writer,
Protocol:any write call.Query Method:MapReduce Java/any exec,
备份:HDFS Replication,
编写语言:java,
并发:?,
?
**************************************
MapR,Hortonworks,Cloudera:
Hadoop发布和专业服务商
**************************************
Cassandra:
大规模的可扩展的,分区列存储,无主节点架构,线性规模表现,无单节点失败,多数据中心和云可用区域读写支持。
API/Query Method: CQL 和 Thrift;
备份:对等;
编写语言:java
并发:可调一致性
杂项:内置数据压缩MapReduce支持,第一和第二索引,安全功能
链接:Documentation, PlanetC*, Company.
**************************************
Hypertable:
API:Thrift(java,php,perl,python,ruby等等);
协议:Thrift;
查询方法:HQL,原生Thrift API;
复制:HDFS复制;
并发:MVCC;
一致性模型:完全一致;
杂项:使用C++对Google的BigTable的高性能实现。 ? 商业支持》
**************************************
Accumulo :
Accumulo 是基于BigTable,建立在Hadoop,ZooKeeper和Thrift之上的。特点是改进了BigTable设计中的基于访问控制的形式,改进压缩和服务端的编程机制可以在数据管理进程中修改键值对在多样的点上。
**************************************
Amazon SimpleDB:
杂项:非开源/AWS的一部分,将优于DynamoDB
**************************************
Cloudata:
Google的BigTable的克隆版本就像HBase
? 文章
**************************************
MonetDB:
开始于2002年的列存储先驱
**************************************
HPCC:
来自于LexisNexis数据库,
信息: 文章:
**************************************
Apache Flink:(原名:Stratosphere)
大规模并行和灵活的数据分析平台
API:JAVA和scala;
Query Method:有表现的数据流(扩展:M/R、富UDF、迭代支持);
数据存储:独立(例如:HDFS、S3、和MongoDB);
编写语言:JAVA;
证书:Apache License V2.0
杂项:很好的整合了Hadoop的栈(HDFS和YARN),源码在GitHub
**************************************
IBM Informix
横向扩展和纵向扩展,关系型,分区列存储,文档存储;
API/Query Method:SQL(原生,DRDA, JDBC, ODBC),mongoDB写监听者,混合模式。
复制:主从,对等,分片和网格操作;
编写语言:C;
并发:行,页,表,数据库锁定;
杂项:支持ACID,内置数据压缩,调度,自动循环存储管理,可扩展,内存加速, ARM v6 up原生端口;
链接: Documentation, IIUG, Company.
**************************************
Splice Machine:
Splice Machine 是建立在Hadoop,HBase和Derby上的RDBMS(关系数据库管理系统)。使用商用硬件无应用重写的规模化的实时应用。
特点:ACID 事务,ANSI SQL支持,ODBC/JDBC,分布式计算
**************************************
ConcourseDB
分布式的自调整数据库,带有自动索引,版本控制和ACID 事务;
编写语言:JAVA;
API/protocol:Thrift(多语言);
并发:在时间锁定内的序列化事务;
杂项:当平台富索引在后台执行时,使用缓存存储系统立即提交所有数据到磁盘。
【文档存储】
Elasticsearch:
API:REST和多种语言;
Protocol:REST;
Query Method:via JSON;
复制和分片:自动和配置;
编写语言:JAVA
杂项:模式映射,带任意索引的多租户
公司支持,文章
**************************************
MongoDB:
API:BSON
Protocol:C
Query Method:面向对象的动态语言和MapReduce;
复制:主从和自动分片
编写语言:C++
并发:空间更新;
杂项:索引,GridFS,免费和商业许可证
链接:?Talk, ? Notes,? Company
**************************************
Couchbase Server:
API:Memcached API+协议(二进制和ASCII),多语言
protocol:集群配置和管理的Memcached REST接口;
编写语:C/C++、Erlang(集群);
复制:对等,完全一致
杂项:在操作过程中的透明拓扑