Cassandra 中的column family

 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的配置,如下:

 

你可能感兴趣的:(column,cassandra,key,row,family)