Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。

从新闻 ​​Twitter用户暴增20倍 计划弃用MySQL​​中看到了Cassandra数据库,网上查了一下这个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之辈开始学习。