为什么从HBase的0.96版本开始,舍弃了-ROOT-文件?
< 返回列表时间: 2020-07-13来源:OSCHINA
HBase结构的读写流程
(1). HBase0.96版本之前:

(2). HBase0.96开始:
a. 当客户端获取到.meta文件的位置之后,会缓存.meta.文件的位置
b. 客户端还会缓存HRegion的位置

-ROOT-存在的意义:
》 HBase是为了存储大量数据
》数据量大的时候,会产生大量的元数据
》元数据过多,一个Block可能不够,那么就需要分布式存储
》设置-ROOT-记录元数据的位置
》-ROOT- 总账 -> .meta. 分账 -> 数据
舍弃-ROOT-的原因:
》一条HBase的元数据在100字节左右
》Block的大小默认是128M=134217728B
》一个Block大概能存储134W条元数据
》一个表一般能产生3-5条元数据
》一个Block大概能记录26W个表的信息
》一个项目再复杂,表的个数一般也不会过百
》此时-ROOT-没有存在的意义
热门排行