一、HBase的特点是什么
1.HBase一个分布式的基于列式存储或者行式存储的数据库,基于hadoop的hdfs存储,zookeeper进行管理。
2.HBase适合存储半结构化或非结构化数据,对于数据结构字段不够确定或者杂乱无章很难按一个概念去抽取的数据。
3.HBase为null的记录不会被存储.
4.数据存储模式为key,value模式:(Table,Rowkey,Column,Timestamp)-> value 
5.HBase是主从架构。Hmaster作为主节点,Hregionserver作为从节点。
二、HBase存数据流程
流程:Client请求Zookeeper确定meta表所在的RegionServer所在的地址,接着根据Rowkey找到数据所归属的RegionServer;用户提交put或delete请求时HbaseClient会将put或delete请求添加到本地buffer中,符合一定条件
会通过异步批量提交服务器处理。
接着数据到达Region后,服务端处理流程如下:
流程:RegionServer去获取RowLock,region更新共享锁;接着Hbase会先写写日志WAL(数据可靠性)再写缓存MemStore(阈值默认64M,每个列族对应一个Store下的MemStore);然后释放锁后将日志落到HDFS;若MemStore达到阈值则将缓存数据落磁盘StoreFile,最后多个StoreFile发生合并;若StoreFile很大会触发split操作,将当前region分割成2个Region,并同步到Hmaster。
三、HBase取数据流程
HbaseClient的操作和存数据类似

服务器操作流程:

RegionServer收到get请求后,对当前Region进行Scan,接着会根据列族对Store进行Scan,同时会对对应的MemStore进行Scan;最后找到我们要的数据返回给Client。注意:一个StoreScanner会对应多个StoreFileScanner,整个过程是一个层级关系。


四、HBase存取优化
检索优化(BloomFilter):应用BloomFilter来提高随机读的性能,BloomFilter是列族级别的配置
五、HBase API使用

转载于:https://www.cnblogs.com/nicoleljc/p/9976555.html

HBase数据存取流程相关推荐

  1. HBase - 数据写入流程解析

    本文由  网易云 发布. 作者:范欣欣 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 众所周知,HBase默认适用于写多读少的应用,正是依赖于它相当出色的写入性能:一个100台RS的集群可以轻 ...

  2. HBase数据读取流程解析

    一  客户端GET读 客户端GET读其实没有什么逻辑,就简单几个步骤: 1.1 connection 根据表名,行健得到从哪一个RegionServer和Region上去读 1.2 通过Region信 ...

  3. 一文带你了解HBase读取数据详细流程

    HBase数据读取流程 1.hbase数据读取流程简单描述 ​ 一般来说,在描述hbase读取流程的时候,简单的描述如下: ​ 1).客户端从zookeeper中获取meta表所在的regionser ...

  4. 2021年大数据HBase(十三):HBase读取和存储数据的流程

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase读取和存储数据的流程 一.HBase读取数据的流程 ...

  5. HBase的Compact参数设置及数据读写流程剖析-OLAP商业环境实战

    本套系列博客从真实商业环境抽取案例进行总结和分享,并给出Spark商业应用实战指导,请持续关注本套博客.版权声明:本套Spark商业应用实战归作者(秦凯新)所有,禁止转载,欢迎学习. 秦凯新的技术社区 ...

  6. HBase原理之数据读取流程

    和写流程相比,HBase读数据是一个更加复杂的操作流程,这主要基于两个方面的原因:其一是因为整个HBase存储引擎基于LSM-Like树实现,因此一次范围查询可能会涉及多个分片.多块缓存甚至多个数据存 ...

  7. 人工智能在线特征系统中的数据存取技术

    主流互联网产品中,不论是经典的计算广告.搜索.推荐,还是垂直领域的路径规划.司机派单.物料智能设计,建立在人工智能技术之上的策略系统已经深入到了产品功能的方方面面.相应的,每一个策略系统都离不开大量的 ...

  8. 一个purge参数引发的惨案——从线上hbase数据被删事故说起

    一个purge参数引发的惨案--从线上hbase数据被删事故说起 在写这篇blog前,我的心情久久不能平静,虽然明白运维工作如履薄冰,但没有料到这么一个细小的疏漏会带来如此严重的灾难.这是一起其他公司 ...

  9. HBase 数据导入功能实现方式解释

    https://www.ibm.com/developerworks/cn/opensource/os-cn-data-import/index.html 预备知识:启动 HBase 清单 1. 修改 ...

最新文章

  1. 圆形头像CircleImageView源码浅析
  2. Python threading Thread多线程的使用方法
  3. LeetCode 424. Longest Repeating Character Replacement
  4. koa --- 使用Github OAuth登录
  5. 你真的了解Java系统启动流程吗?mysql不包含多个字符
  6. 强悍的 vim —— 插件管理
  7. UOJ269 清华集训2016 如何优雅地求和 下降幂多项式、NTT
  8. vs哪个版本比较好用_哪个跨境电商erp比较好用,跨境电商erp哪个好一点
  9. qq音乐推荐下载器(一)——模拟搜索,下载,读取评论制作词云并将下载数据传至数据库
  10. 车牌识别算法实践(一):先验知识
  11. (转帖)SpringBoot自定义Starter
  12. 计算机网络教程_第三章数据链路层_整理与复习
  13. 飞龙在天:docker安装青龙大全
  14. 应用交付学习笔记三-BIG-IP LTM健康检查
  15. 带软开启功能的MOS管电源开关电路!
  16. 使用Python程序读取fasta文件reads
  17. 什么是档案级光盘?它的寿命是多少年?
  18. CAD如何使用圆命令做辅助线绘制梯形图案呢?
  19. Unity3d 音效 音乐 大小控制
  20. JAVA程序员常用网址

热门文章

  1. spark on yarn client模式下不需要上传程序jar包到hdfs
  2. GeoMesa-空间数据存储引擎入门学习手册
  3. 基于Docker本地运行k8s(单节点)
  4. linux命令:sed工具替换文件内容
  5. jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查
  6. JVM调优:使用G1垃圾回收器
  7. idea配置Run Dashboard的方法(亲测有效)
  8. Python Django 装饰器模式之三阶装饰器
  9. Hystrix默认超时时间
  10. Linux系统管理命令:date、free、ps、du、kill、uname