HBase 是一个在HDFS 上开发的面向列的分布式数据库。如果需要实时地随机读/
写超大规模数据集,就可以使用HBase 这- Hadoop 应用。
应用把数据存放在带标签的表中。表囱行和列组成。表格"单元格" (cell)一一由行
和列的坐标交叉决定一一是有版本的。默认情况下,版本号自动分配,是HBase 插
入单元格时的时间戳。单元格的内容是未解释的字节数组。
表中行的键也是字节数组。所以理论上,任何东西都可以表示成二进制形式,然后
转化为长整型的字符串或直接对数据结构进行序列化,来作为键值。表中的行根据
行的键值(也就是表的主键)进行排序。排序根据字节序进行。所有对表的访问都要
通过表的主键。
行中的列分成"列族" (column family) 。所有的列族成员有相同的前缀。因此,像
列temperature:air 和temperature:dew_point 都是列族temperature 的成员,而
station: identifier 则属于station 族。@列族的前缀必须由"可打印的" (printable)字
符组成。而修饰性的结尾字符,即列族修饰符,可以为任意字节。
HBase 中,为了方便,使用冒号( :)来分隔列族和列族修饰符(qualifier) 。这是写在
HBase 代码里的,不能修改。
一个表的列族必须作为表模式定义的一部分预先给出。但是新的列族成员可以随
后按需要加入。
[b]区域[/b]
HBase 自动把表水平划分成"区域" (region) 。每个区域由表中行的子集构成。每
个区域由它所属于的表、它所包含的第一行及其最后一行(不包括这行)来表示。区域是在HBase 集群分布数据的最小单位。
写超大规模数据集,就可以使用HBase 这- Hadoop 应用。
应用把数据存放在带标签的表中。表囱行和列组成。表格"单元格" (cell)一一由行
和列的坐标交叉决定一一是有版本的。默认情况下,版本号自动分配,是HBase 插
入单元格时的时间戳。单元格的内容是未解释的字节数组。
表中行的键也是字节数组。所以理论上,任何东西都可以表示成二进制形式,然后
转化为长整型的字符串或直接对数据结构进行序列化,来作为键值。表中的行根据
行的键值(也就是表的主键)进行排序。排序根据字节序进行。所有对表的访问都要
通过表的主键。
行中的列分成"列族" (column family) 。所有的列族成员有相同的前缀。因此,像
列temperature:air 和temperature:dew_point 都是列族temperature 的成员,而
station: identifier 则属于station 族。@列族的前缀必须由"可打印的" (printable)字
符组成。而修饰性的结尾字符,即列族修饰符,可以为任意字节。
HBase 中,为了方便,使用冒号( :)来分隔列族和列族修饰符(qualifier) 。这是写在
HBase 代码里的,不能修改。
一个表的列族必须作为表模式定义的一部分预先给出。但是新的列族成员可以随
后按需要加入。
[b]区域[/b]
HBase 自动把表水平划分成"区域" (region) 。每个区域由表中行的子集构成。每
个区域由它所属于的表、它所包含的第一行及其最后一行(不包括这行)来表示。区域是在HBase 集群分布数据的最小单位。