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的配置,如下:
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的配置,如下:
相关文章推荐
- That No SQL Thing: Column (Family) Databases - Ayende @ Rahien
- Cassandra key说明——Cassandra 整体数据可以理解成一个巨大的嵌套的Map Map<RowKey, SortedMap<ColumnKey, ColumnValue>>
- HBase中为什么要有Column Family
- Cassandra 中的column
- Cassandra源代码分析(一)Table和ColumnFamilyStore
- Cassandra 1.0.0 参考(3) Column的定义
- Understanding HBase column-family performance options
- 在Hbase中选择多少个column family才合适呢?
- 用Column Family作为索引
- 高级column family 配置
- Cassandra源代码分析(一)Table和ColumnFamilyStore
- Cassandra 的数据存储结构——本质是SortedMap<RowKey, SortedMap<ColumnKey, ColumnValue>>
- select a specific column from a ref cursor
- proc中插入VARCHAR2字段报ORA-01461: can bind a LONG value only for insert into a LONG column
- Repeated column in mapping for entity@Column(name = "type_id") private Long typeId = 0L; // //
- 关于error:Cannot assign to 'self' outside of a method in the init family
- HDU 4409 Family Name List --乱搞、LCA
- 关于错误:set_up_server could not establish a listen endpoint for port 12865 with family AF_UNSPEC
- Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- Column & View Permission For SharePoint List