大数据组件知识点总结(2) - HBase

2018-08-22  本文已影响11人  千反田爱瑠爱好者

数据模型

每个Namespace包含一组Table,默认有两个Namespace,hbase(如Meta表)、default;

可看作一个多维映射表:

{
    "rowkey_1": {
        "column_family_1": {
            "column_1": {
                "timestamp_1": "value_1",
                "timestamp_1": "value_2",
                ...
            }
        }
    }
}

而在实际存储中,不同版本的数据会重复保存rowkey(为节省空间,应尽可能短):

    key     CF      qualifier       timestamp       value
    -----------------------------------------------------
    tom    data       city       20180101000000      GZ
    tom    data      country     20180101000000      GD
    tom    data       city       20180102000000      SZ

基本架构

内部原理

Region定位

HBase的put、get、delete、scan操作基础是Region定位:

Region Server

模块协作

HBase启动

Region Server失效

HMaster失效

读写操作

需要依次从读缓存BlockCache(最近读取)、写缓存MemStore(最近写入,每个column family都有一个MemStore)、磁盘HFile文件(已持久化)中查找数据,合并返回用户。

Compact

执行Compact检查:

设计原则

HBase最好看作一个巨大的哈希表,基于键取值,更适用于迭代访问(范围扫描)。

Rowkey

Region

Column、Column Family

过滤器

为筛选数据提供的过滤器,可以在HBase中的数据的多个维度(行、列、版本)上对数据进行筛选。

常用的:

(支持自定义过滤器,但不建议使用)

协处理器

Observer

Endpoint

如对于较大的表(上百个Region)计算某列平均值、求和等操作,使用Endpoint可减少耗时。

加载协处理器

卸载/更新协处理器

必须重启Region Server,即重启JVM;否则重复加载的协处理器实例不会起作用。

容灾

监控

Phoenix

上一篇下一篇

猜你喜欢

热点阅读