HBase 笔记(1) 简介

来源:互联网 发布:c语言九九乘法表while 编辑:程序博客网 时间:2024/04/29 11:52

1、列式存储数据库

不同于传统关系数据库的行式存储。其优势为:

(1)、对于特定查询,不是所有值都是必需的,可减少IO。

(2)、列的数据类型相似,有利于压缩,返回结果时降低带宽消耗。


2、HBase 的Region 和RegionServer

每一个region 只能由一台region server 加载,每一台region可以同时加载多个region。

region 大小超过限制,将会在中间键将其拆分成两个大致相等的子region。Region 支持离线合并。

每台RegionServer 加载Region数量约10-1000,每个region大小约1G-2G。


3、HBase支持单行事务

不支持跨行、跨表。


4、HBase协处理器Coprocessor

Coprocessor 可以在服务器的地址空间执行来自客户端的代码,此代码可以直接访问服务器本地的数据,用于实现轻量级批处理作业,或者使用表达式并给予各种操作来分析和汇总数据。


5、HBase的实现

HFile:数据的存储文件,存储经过排序的键值映射结构。HFile由连续的块组成,块的索引信息存储在文件的尾部

HFile的默认大小为 64K


数据更新过程:首先写在WAL (write-ahead log . 预写日志)中 ,然后再写入内存的memstore中 (已按照行健排序),最后移出内存到HFile 中,HFile 会进行合并。数据从内存移出后,会丢弃对应已提交的日志。


数据删除过程:给某行作一个删除标记,检索的时候跳过,而不是真正地删除。


数据读取过程:从 HFile 和 memstore  读回并合并,不会用到WAL。


数据恢复:若内存中数据在服务器崩溃前没有写入到磁盘,使用WAL进行恢复。


HFile 的合并分为 minor合并 和 major合并。

minor合并:将多个小文件重写为大文件,一个多路归并的过程。

major合并:能扫描所有键值对,顺序重写数据,并略过做了删除标记、版本号过期、生存时间到期的数据


6、ZooKeeper 作用

a、为region server 协调分配region

b、通过心跳,发现可用服务器,跟踪机器故障和网络分区

c、确保只有一个HMaster运行


7、HMaster 作用

负载均衡,集群管理,元数据管理




0 0