Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型)。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0
网站地址:http://cassandra.apache.org/
以下资料来源:http://asyty.iteye.com/blog/1202072
一、Cassandra框架
图1 Cassandra
Cassandra是社交网络理想的数据库,适合于实时事务处理和提供交互型数据。以Amazon的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型,P2P去中心化的存储,目前twitter和digg中都有使用。
在CAP特性上,HBase选择了CP,Cassandra更倾向于AP,而在一致性上有所减弱。
Cassandra的类Dynamo特性有以下几点:
l 对称的,P2P架构
n 无特殊节点,无单点故障
l 基于Gossip的分布式管理
l 通过分布式hash表放置数据
n 可插拔的分区
n 可插拔的拓扑发现
n 可配置的放置策略
l 可配置的,最终一致性
类BigTable特性:
l