首先我们来参考下面内容:
Column Family
在Hbase是column family一些列的集合。一个column family所有列成员是有着相同的前缀。比如,列courses:history 和 courses:math都是 column family courses的成员.冒号(:)是column family的分隔符,用来区分前缀和列名。column 前缀必须是可打印的字符,剩下的部分(称为qualify),可以又任意字节数组组成。column family必须在表建立的时候声明。column就不需要了,随时可以新建。
在物理上,一个的column family成员在文件系统上都是存储在一起。因为存储优化都是针对column family级别的,这就意味着,一个colimn family的所有成员的是用相同的方式访问的。
Cells
A {row, column, version} 元组就是一个Hbase中的一个 cell。Cell的内容是不可分割的字节数组。
上面相当于Cells也是存储于一个文件中的,那么对于一个文件他的大小有限制吗?个人认为这个是没有限制的,只要不考虑性能,理论上可以足够大。
对于行键则有一个大小限制:
Row key行键 (Row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes)
个人认为:
由于行键本身就是提高性能的,所以太大了,肯定会影响性能的提升。
|