Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。
从新闻 Twitter用户暴增20倍 计划弃用MySQL中看到了Cassandra数据库,网上查了一下这个Cassandra的资料,找到一篇较详细的中文资料:
下面一段引自这篇文章:
各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库同样也是处理结构化数据,所以除了没有SQL,在数据模型方面有相似之处。Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。
NoSQL并不能简单的理解为No SQL,其本质应该是No Relational,也就是说它不是基于关系型的理论基础,而我们所有传统的数据库都是基于这套理论而发展起来的,所以SQL并不是问题的关键所在,比如有些NoSQL数据库可以提供SQL类型的接口,允许你通过类SQL的语法去访问数据。而Friendfeed则是反其道而行之,利用关系型数据库MySQL,采用了去关系化的设计方法,去实现自己的KeyValue存储。所以NoSQL的本质是No Relational。
在园子里发现老赵同志也在研究No SQL:MongoDB与Tokyo Tyrant性能比较(1):基础CRU操作,从这篇文章回复中发现Inrie也在做相应的数据库选型,其中也提到了Cassandra,说实在的,之前基本没有关注过No SQL,看来这个相当热门和普遍的技术,非常有必要多多了解,只可惜这些产品多为xUnix上的,没有Windows上的,没有啥环境来学习一下,有空把Linux环境搭起来。
这里有位老兄写了个.Net Developer's Guide to Getting Started with Cassandra Cassandra带有.NET平台下的驱动程序,非常的适合我等.NET之辈开始学习。
- 项目主页:http://incubator.apache.org/cassandra/
- 文档地址:http://wiki.apache.org/cassandra/GettingStarted