1 Storing Medium-sized Objects (MOB)
保存到HBase中的所有数据大小各异,包括二进制数据像图片或者文档是比较合适的(MOB技术存储和检索非结构化的数据)。Hbase从技术上可以处理大于100KB的cells二进制对象,HBase正常读写路径小于100KB是最优的。当HBase处理超过这个阀值的大对象,这儿称之为中等大小对象或者MOBs。性能下降的写入放大会导致拆分和compactions。用MOBs时,对象大小最好在100KB-10M之间。FIX_VERSION_NUMBER可以更好的管理大量的MOBs以保持性能,一致性和低成本的运营。要发挥MOB的优势需要使用HFile的版本3。
1.1 MOB方式配置列
注意:这个特性是在版本3中(Hbase 0.98),在1.2版本并没有
...
HColumnDescriptor hcd = new HColumnDescriptor(“f”);
hcd.setMobEnabled(true);
...
hcd.setMobThreshold(102400L);
...
1.2 测试MOB
$ sudo -u hbase hbase org.apache.hadoop.hbase.IntegrationTestIngestMOB \
-threshold 102400 \
-minMobDataSize 512 \
-maxMobDataSize 5120
- thresholds 是cells的阀值,默认1KB。
-
minMobDataSize MOB数据大小的最小值。默认为512B。
- maxMobDataSize MOB数据大小的最大值。默认为5KB。