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的主要内容,如果未能解决你的问题,请参考以下文章