1.5.2 列族(column family)和列
在 HBase 中,若干列可以组成列族(column family)。
在 Hbase 中, 列族是一个比列更加重要的概念.
建表的时候是不需要指定列的,因为列是可变的,它非常灵活,唯一需要确定的就是列族。
这就是为什么说一个表有几个列族是一开始就定好的。
此外,表的很多属性,比如过期时间、数据块缓存以及是否压缩等都是定义在列族上,而不是定义在表上或者列上。
这一点做法跟以往的数据库有很大的区别。
同一个表里的不同列族可以有完全不同的属性配置,但是同一个列族内的所有列都会有相同的属性,因为他们都在一个列族里面,而属性都是定义在列族上的。
必须有了列族才能有列.
在 HBase 中一个列的名称前面总是带着它所属的列族。
列名称的规范是列族:列名
,比如brother:age
、brother:name
、parent:age
、 parent:name
。
列族存在的意义:
HBase会把相同列族的列尽量放在同一台机器 上,所以说,如果想让某几个列被放到一起,你就给他们定义相同的列族。