|
知识路径: > 数据库技术 > 数据库技术基础 > 数据库模型 > 典型数据库:RDB(关系数据库)、OODB(面向对象数据库)、ORDB(对象关系数据库)、XML数据库、NoSQL(非关系数据库) > 非关系型数据库NoSQL > NoSQL应用案例与新技术 > HBase数据库 >
|
相关知识点:6个
|
|
|
|
HBase数据逻辑结构主要包括行键(Raw key)、列(Column)、时间戳(Timestamp)和单元格(Celll)。与传统的关系型数据库类似,HBase也是以表的形式组织数据,表由行和列组成。不同的是,Hbase的列有列族的概念,列由family和qualifier两部分组成。单元格由行、列和时间戳唯一决定。下面对这些名词进行具体介绍。
|
|
|
(1)行(Raw):在HBase表中,Raw key是用来检索记录的主键,可以是任意字符串,它的最大长度是64KB,实际应用中长度一般为10~100 bytes。在HBase内部,Raw key保存为字节数组,按照字典顺序由低到高存储在表中,利用此特性,将经常一起读取的行存储放在一起。
|
|
|
(2)列(Column):列由列族(Column Family)和列标识(Column Qualifier)两部分组成。列族是列的集合,所有成员有着相同的前缀;列标识没有特定的数据类型,通常列族里面的数据通过列标识进行定位。以Column Family:Column Qualifier确定列族里面的某列,例如Course:Math,Course:History。
|
|
|
(3)单元格(Cell):单元格由行、列和时间戳共同确定,可以使用{Row key,Column(=+),Timestamp}三元组进行访问。单元格的数据没有特定类型,以二进制字节进行存储。
|
|
|
(4)时间戳(Timestamp):每个单元格会保存同一数据的多个版本,通常通过时间戳进行索引。读取单元格时,如果时间戳没有被指定,则默认返回最新的数据;写入单元格时,如果时间戳没被指定,则返回当前时间。
|
|
|