导图社区 Hbase架构图
一些关于Hbase的知识点整理
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Hbase
列存储
优点
不存在冗余列
数据是同类型的,避免频繁转换,节省CPU
可以采用更高效的压缩算法(性别从string八字节转为boolean之类的)
子主题
网络优化
数据本地化策略
HDFS的节点和Region结合在一起,减少网络传输,在本地即可完成持久化
发送前压缩数据
数据管道流思想
相当于:我拷部片给你leader,leader再自行分发下去给小弟,小弟互相拷贝
容错机制
领导挂了
2个Hmaster
一主一从: 从的会时不时和主通信,zookeeper也会保证只有一个Hmaster是active的 其他处于热备份状态
小弟挂了
Hlog
Hlog存在本地服务器硬盘上,zookeeper可以监听到各个进程状态,挂了会去找Hlog恢复
功能组件
HMaster
管理HRegionServer,实现负载均衡(Region分配给哪个服务器) 拆分,迁移
Region
存储和维护Region,处理来自client的请求
HStore
memStore
优先在内存中进行保存和处理
StoreFile
memStore满了之后会溢写到StoreFile(硬盘持久化过程)
RegionServer
负责Region的启动
为什么这么快
地址缓存表
在client上面有类似redis的机制,来一次存一次读的地址的Key/Value
读缓存
读取数据优先在读缓存区找 引入空间局部性和时间局部性,提高缓存的的命中率 空间:CPU在某一时间访问某数据,下一时间在其附近行读取 时间:CPU在某一时间访问某数据,下次再访问很大概率会再访问该数据
回收策略
Lru回收
最近最少: 定期清除缓存中最少用到的垃圾数据
写入操作日志WAL再走缓存(恢复)
写缓存
每一个MemStore有一个写缓存 然后才写入memStore 其中算法:LSM-TREE: 将数据顺序写磁盘,避免随机写