hbase读写过程
今天终于用github 和 hexo 在windows的机器上配置成功了。
接下来会写一篇搭建过程。
对于大数据来说,hbase作为nosql数据库中的一种,而且分布式的、面向列的开源数据库。读写速度都比较快。
HBase 写数据
- 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只是增加数据,有所得更新和删除操作,都是在Compact阶段做的,所以,用户写操作只需要进入到内存即可立即返回,从而保证I/O高性能。
HBase 读数据
- client
- zookeeper
- .Root
- .META
用户数据表zookeeper记录了.ROOT的路径信息(root只有一个region),.ROOT里记录了.META的region信息, (.META可能有多个region),.META里面记录了region的信息。