HBase

Posted libin123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HBase相关的知识,希望对你有一定的参考价值。

HBase简介:
分布式数据库
是构建在HDFS上的分布式列存储数据库(mysql,Oracle是行数据库),是一个高可靠性,高性能,面向列。可伸缩的分布式存储系统

列式存储允许用户存储海量的数据到相同表中,而在传统数据库中,海量数据需要被切分为多个表进行存储
行键 不宜过长,否则会占用大量的存储空间降低检索效率 尽量均匀分布,避免产生热点问题 还有唯一性

列簇是在创建表的时候建立的,不会再变,但是列是可以动态添加的
但是也不能有太多列簇,因为跨列簇访问是非常低效的

技术分享图片

数据模型

技术分享图片

技术分享图片

 

HBase物理模型:

技术分享图片

每个column family存储在HDFS的一个单独文件里
键值和版本在每个列簇里都有一份
空值不保存占位符都没有
在行方向上按照键值字典序排列
在行的方向上分割为多个region,从而实现分布存储
最开始只有一个region,随着记录数不断增加,会逐渐分裂为多个region
一个region由【startkey,endkey】表示,不同的region会被Master分配给不同的Regionserver

技术分享图片

 

region虽然是分布式存储的最小单元,但并不是存储的最小单元
region由一个或者多个store组成,每个store保存一个columns family
每个store又由一个memstore和0至多个storefile组成
memstore存储在内存中,storefile存在HDFS中

技术分享图片

 

HBase系统架构:

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

 

 附自己做的笔记:

 技术分享图片技术分享图片

 














以上是关于HBase的主要内容,如果未能解决你的问题,请参考以下文章

HBaseHBase集群Shell操作

Hbasehbase和phoenix的整合

HbaseHbase 一些面试题

HBaseHBase的RK设计避免热点

hbasehbase配置独立的zookeeper的安装与测试

大数据技术之HBaseHBase简介HBase快速入门HBase进阶