hbase 物理存储

最近在看hbase,看官方文档的时候有一点疑问。在文档中说,hbase的数据文件是以列族在存储的,一个表里不同的列族存储在不同的文件中,列族里面的rowkey是顺序的。虽然在写入文件之前,hbase会对写入的数据先放在memstore里面进行排序,然后写入hfile。但是如果后面又来了一批有序的rowkey需要flush到文件,但是这些rowkey可能比文件中最后一条数据的rowkey小,他是flush之前会做什么操作么.突然想起来了在,hfile的大小是基于hadoop的,因此一般是64M。memstore一次flush相当于一个文件,所以哈哈。。。

还有看到一个,说在创建表的时候不要用它内置的方法去提前设置region数目。这个在我们做项目的时候得到了验证,当时我们提前分配了100个region给一个table,防止hotspoting。但是发现基本没起什么作用。

原文地址:https://www.cnblogs.com/yimapingchuan/p/4994942.html