您的位置:首页 > 其它

Cassandra 中的column family

2012-05-17 15:48 218 查看
Cassandra中的column family,相当于关系数据库中的表,它用于存储行和字段。

column family 中column数量是不固定的

在关系数据库中,每一行包含的字段个数是相同的。但是在Cassandra中,虽然column family可以定义column的元数据(metadata), 但是每一行的实际的字段数是由客户端程序决定的,所以没必要所有的字段数目都一样。

column family的分类

静态column family(static column family)

对于静态的column family,字段名是固定的,比较适合对于这些column都有预定义的元数据,如下图所示:





动态column family(dynamic column family)

对于动态的column family,字段名是应用程序计算出来并且提供的,所以column family只能定义这些字段的类型,但是不可以指定这些字段的名字和值,这些名字和值是由应用程序插入某字段才得出的,如下图所示:





row key

对于Cassandra来说,每一行都用行键(row key)来标识,这个相当于关系数据库表中的主键,并且总是被索引的,见上面图的蓝色部分。

我们可以用cassandra-cli工具来查看某个key space下的所有column family。

比如我们有个key space叫DEMO,于是我们可以用describe DEMO 命令来查看这个keyspace下所有的column family.





如果要查看指定的某个column family的配置,只要用 describe <column family 名>就可以了,比如我要看key store 为DEMO下的名字为blog_entry的column family的配置,如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息