HBase基础知识点

HBase基础知识点,第1张

HBase基础知识点

列存储的优点:1)减少存储空间占用。2)⽀支持好多列
Hbase的特点: 海量存储(基于HDFS);列式存储;支持高并发;易扩展;稀疏;数据多版本;数据类型单一(全部用字节数组来存储)

列存储的优点:1)减少存储空间占用。2)⽀支持好多列
Hbase的特点: 海量存储(基于HDFS);列式存储;支持高并发;易扩展;稀疏;数据多版本;数据类型单一(全部用字节数组来存储)

Hbase数据逻辑结构

Hbase整体架构:
Hbase shell *** 作: put; get; rowkey的范围值查询(非常重要)rowkey底层存储是字典序 scan ‘lagou’, {COLUMNS =>‘base_info’, STARTROW => ‘rk1’, ENDROW => ‘rk3’} 包左不包右
Hbase读数据流程:


Hbase写数据流程:
Hbase的flush(刷写)及compact(合并)机制:默认达到128M,或者数据时间超过1小时,或者达到堆大小的40%,自动刷写到磁盘手动flush命令:flush tableName
如果在下次周期检查(默认10秒)到来之前,数据疯狂写入Memstore中,则会引发阻塞机制,此时无法写⼊入数据到Memstore,数据无法写入Hbase集群

Compact合并机制hbase中主要存在两种类型的compac合并:minor compact 小合并和major compact 大合并小合并:删除和更新的数据仅仅只是做了了标记,并没有物理理移除,这种合并的触发频率很高。触发小合并的条件:memstore flush前后都会进行判断是否触发compact;周期性检查是否需要进行compaction *** 作

Hbase表的预分区(region)使用pre-splitting,在创建table的时候就配置好,生成多个region。预分区的好处:增加数据读写效率;负载均衡,防止数据倾斜;方便集群容灾调度regioncreate ‘person’,‘info1’,‘info2’,SPLITS => [‘1000’,‘2000’,‘3000’] //三个值可以创建四个region分区
Region合并合并的目的是为了维护方便冷合并:需要关闭hdfs集群;热合并不需要关闭集群
Hbase 协处理理器器访问Hbase的方式是使用scan或get获取数据,在获取到的数据上进行业务运算。但是在数据量量非常大的时候,再按常用的方式移动获取数据就会遇到性能问题。客户端也需要有强⼤大的计算能力以及⾜足够的内存来处理这么多的数据。此时就可以考虑使用Coprocessor(协处理理器器)。将业务运算代码封装到Coprocessor中并在RegionServer上运行,即在数据实际存储位置执行,最后将运算结果返回到客户端。
协处理理器类型:Observer(类比触发器)&Endpoint(类比存储过程)Observer协处理理器器与触发器器(trigger)类似:在一些特定事件发⽣生时回调函数(也被称作钩子函数,hook)被执行。这些事件包括一些⽤用户产生的事件,也包括服务器器端内部自动产生的事件。协处理理器器框架提供的接口如下RegionObserver:用户可以用这种的处理器处理数据修改事件,它们与表的region联系紧密。MasterObserver:可以被用作管理或DDL类型的 *** 作,这些是集群级事件。

WALObserver:提供控制WAL的钩子函数。Endpoint这类协处理器类似传统数据库中的存储过程,客户端可以调用这些 Endpoint 协处理器在Regionserver中执行一段代码,并将 RegionServer 端执行结果返回给客户端进一步处理。

Endpoint Coprocessor的应用我们后续可以借助于Phoenix非常容易就能实现。针对Hbase数据集进行聚合运算直接使用SQL语句就能搞定。

Hbase表的RowKey设计字典排序(Hbase的Rowkey是按照ASCII有序设计的);长度越短越好,最好不要超过16个字节(设计过长会降低memstore内存的利用率和HFile存储数据的效率);RowKey散列原则(建议将rowkey的高位作为散列字段,这样将提高数据均衡分布在每个RegionServer,以实现负载均衡的几率);

RowKey唯一原则(必须在设计上保证其唯一性, 访问hbase table中的行:有3种方式:单个rowkey/rowkey 的range/全表扫描(一定要避免全表扫描))。

Hbase表的热点当大量的client访问hbase集群的⼀个或少数几个节点,造成少数region server的读/写请求过多、负载过大,而其他region server负载却很小,就造成了“热点”现象。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5636077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存