HBase为什么快 HBase原理。 HBase几个问题

背景色表示可以自己做实验搞定
    1 入 限定符 'one'
    2 入 'two'
    3 入 'three'
    4 four
    5 five...
    HBase 存储,分裂。算法的精妙在何处? 求大神
答:当看书到 HBase 底层的时候就不需要大神来回答了 = =! 。。。。
因为HBase 底层用了 LSM树。  LSM 树 大部分都在内存处理增删改。 当内存中数据达到一定阈值的时候,才会从左至右遍历内存树子节点 与 磁盘树子节点合并。 当被合并的数量达到磁盘存储页大小(个人理解为 MemStore 达到一定量)时。才会被 DFS Clinet 持久化到 HDFS 磁盘上,同时更新父节点对子节点的指针,并且 同步内存树 与 磁盘树 非子节点的节点。增加寻道命中率。
2  版本取数据问题。
    Rowkey、Column、Version 组合在一起称为HBase的一个单元格。
    HBase 中 ,版本是按照倒序排列的, 因此当读取这个文件时候,最先找到的是最近的版本。
(版本倒序排列我认可,可你妹的文件指针都是从头扫到尾啊。咋个意思???)
 在一个 put 数据的时候  如果 有一个2015的当前数据。而我 put 一个 2014 年的 取得是15 还是14?
答:取得是15
3 HBase 如何从HMaster 找到 具体的某一行
         答 首先从HBase 客户端 出请求 , HMaster 返回此rowkey 在那些 
         
Hbase写数据,存数据,读数据的详细过程
     首先写:Client写入 写入到 LSM 内存中,LSM内存写到一定阈值后 -> 存入 MemStore ,一直到MemStore满 -> Flush成一个 StoreFile ,直至增长到一定阈值 -> 出发Compact合并操作 -> 多个StoreFile合并成一个StoreFile,同时进行版本合并和数据删除 -> 当StoreFiles Compact后,逐步形成越来越大的StoreFile -> 单个StoreFile大小超过一定阈值后,触发Split操作,把当前Region Split 成2个  Region ,Region会下线,新Split出的2个子Region会被 HMaster 分配到相应的 HRegionServer  上,使得原先1个Region的压力得以分流到2个Region上由此过程可知,HBase只是增加数据,有所得更新和删除操作,都是在Compact阶段做的
《未完》
3  LSM树合并之后是几级树层次?  还有LSM树从内存中释放后, 他的节点树 会不会因为太大导致内存不够?。
              
         LSM合并之后是 : 一坨层次树,要根据设定的阈值来计算。
         LSM树不会因为太大导致内存不够。LSM树从内存中释放后,数据便不复存在,相当于一颗大树到冬天把衣服(叶子)全 脱了,只留树干树枝。 占用的内存就少啦。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值