IT技术博客大学习 共学习 共进步

深入浅出cassandra 3 例子背后的模型

求贤若渴, 礼贤下士 2011-07-31 12:58:13 浏览 2,544 次
在上一篇文章中,ahuaxuan和大家一起写了一个cassandra的insert和get的例子。从这个例子中我们也得知了操作cassandra的最基本流程,
除此之外我们也初步了解了cassandra中的数据模型,但是只是肤浅的了解了一下,那么我们接着上一篇的话题,继续阐述这个问题。


在我们操作数据的代码中:

String table = "Keyspace1";
        String row = "row007";
        ColumnPath col = new ColumnPath("Standard1", null, "ahuaxuan".getBytes());


        cassandraClient.insert(table, row, col, " first cassandra sample of ahuaxuan".getBytes(), 1, 1);
我们遇到了三个概念,第一个是keyspace, 第二个是ColumnFamily, 第三个是Row。
前面两个属性,我们将可以看成是数据库和表的关系,那么第三个属性呢?
在cassandra文中写道:ColumnFamily的数据是排序后存放在单独的文件中的,row就是排序因子,那个row其实就可以是我们的key,
事实上在cassandra的源代码中row就是key,比如我们看这段源代码:
看上面这个方法的第二个参数,其实就是key.
所以看到这里,我们基本上确定了cassandra中的存储模型,为:
Keyspace1--row007--Standard1,可以确定某个keyspace下的某个key的某个ColumnFamily,
然后再创建某个Column, 包

建议继续学习

  1. Cassandra和HBase主要设计思路对比 (阅读 4,946)
  2. 转载:cassandra读写性能原理分析 (阅读 4,645)
  3. Cassandra存储机制 (阅读 4,584)
  4. Twitter停用Cassandra原因分析 (阅读 3,945)
  5. Cassandra运维之道 (阅读 3,865)
  6. Cassandra之Token (阅读 3,825)
  7. 深入浅出cassandra 4 数据一致性问题概述 (阅读 3,744)
  8. Cassandra数据模型 (阅读 3,644)
  9. Cassandra运维之道 v0.2 (阅读 3,123)
  10. 深入浅出cassandra 1 安装 (阅读 2,826)