码迷,mamicode.com
首页 > 其他好文 > 详细

HBase

时间:2019-01-28 16:10:18      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:版本   空值   技术   bubuko   ems   分配   mil   .com   mem   

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

标签:版本   空值   技术   bubuko   ems   分配   mil   .com   mem   

原文地址:https://www.cnblogs.com/libin123/p/10330416.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!