0%

Hbase介绍

介绍一下Hbase,为什么使用Hbase,Hbase的运行机制

QuickStart

Big Table:分布式数据存储系统

1
Hbase:Big Table 的Java实现(非关系型数据库)

主要特点:

    大:一个表可以包含上亿行,上百万列
    面向列:面向列的存储和权限控制,列的独立检索
    稀疏:对于为空的列,不占用存储空间
    针对每个CELL的值保存多个版本由时间戳来标识    
    每个表由行和列组成
    每行由‘行键’来唯一标识,默认存在
    每个列属于一个特定的列族(Column Family)
    表中由行和列确定的存储单元称为一个单元(Cell)
    每个单元保存了同一份数据的多个版本,由时间戳(TimeStamp)来标识
        

副本的控制:

1
副本的保存策略可以在建表时动态指定,默认只保存一个副本
(1) 按时间控制:可以设定保存的副本的时间长度,超过该时间的部分将被删除
(2)按最大副本数量来控制,比如说每个CULL就保存七个副本,当存入第八个副本时,第一个存入的副本将会被删除

Column(Hbase提供的一个列族的概念)

Family,当创建一个表格时,仅需要指定所有的列族,并不需要指定具体的列

Hbase的数据存储是以行为单位的,若干行的数据被划分一个region,该region内按列族划分为Store,一个Store内部按列(Qualifier限定符)划分为多个StoreFile,StoreFile物理上对应HFile文件,HBase存储时,是以HFile为单位进行分布存储的,因此同一列的数据会被优先保存在同一个节点上
这样的设计有利于数据分析。