HBASE(四 原理篇)
来源:互联网 发布:药家鑫该不该死 知乎 编辑:程序博客网 时间:2024/06/14 13:53
HBase原理
首先理解四个概念
RowKey colfam cell timestamp
这四个不多说 列式存储 宽表
经典全局图:
1.HRegionServer
每一台存储数据节点的服务器都是一个HRegionServer
HRegionServer 负责的是region的切割 数据读取等操作
HRegionServer 是有HLog 和 HRegion 组成的 。
2.Region
Region是分布式存储和负载均衡的最小单元 但不是存储的最小单元。
Region是由一个0个或多个Store组成的 。每一个Store对应一个列族 ,所以有几个列族 就有几个Store。
3.Store
Store是存储的最小单元。Store是有一个memStore和0到多个StoreFile组成的。其中memStore是在内存中的,StoreFile是在磁盘上的。
4.HFile
HFile是StoreFile在HDFS上的轻量级存储形式。
写操作:
Client提交一个Put请求到RegionServer,数据首先会写到WAL中
当数据写到WAL之后,数据会写到MemStore中,等待刷新到磁盘中
数据写到MemStore完成之后,RS会给Client发送确认信息
读流程
首先扫描BlockCache(读缓存)中寻找row cell,若没有则执行2
扫描MemStore(写缓存)中寻找row cell,若没有则执行3
HBase会使用BlockCache索引和bloom filters来加载那包含目标row cells的HFile到内存
切割和合并
Client写入 -> 存入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(四 原理篇)
- Hbase 源码分析四 - Get 流程及rpc原理
- Hbase 学习笔记(四): Hbase的架构和实现原理
- Hbase 学习笔记(四): Hbase的架构和实现原理
- hbase 原理
- hbase原理
- HBase 原理
- HBase原理
- HBase原理
- HBASE 原理
- hbase原理
- hbase原理
- Hbase原理
- HBase总结之原理架构篇
- Hbase优化之四
- Hadoop介绍(四)Hbase
- 【hadoop】hbase原理
- HBase WAL原理学习
- GIS基础算法之地图着色问题
- 图像处理基础知识之二
- ios本地缓存及图片缓存清理
- LoadRunner压测脚本执行时的常见错误及解决方法(持续更新...)
- Centos7 下 yum -y install ntp 出现/var/run/yum.pid 已被锁定
- HBASE(四 原理篇)
- 第一次部署javaweb项目到linux(详细)
- ROS模拟器-第0篇-10分钟上手ROS仿真机器人路径规划与障碍物避障
- Operational Transformation算法图解
- 如何快速去查找API帮助
- QT之qss教程- QScrollBar
- 《淘宝技术这十年》
- 算法导论16.1-1
- Java基础------包