ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

最近经常对自己提一些问题,然后自己通过google、读代码、测试寻求答案来解决疑惑,可能这些问题也能给其他人带来一些帮助。

quora是个不错的问答型网站,兴趣去看一下自己感兴趣的话题吧~

1)HBase中的TTL参数什么意思?
TTL == "Time To Live".  You can specify how long a cell lives in hbase.
Onces its "TTL" has expired, its removed.
2)影响read性能的配置参数有哪些?
hbase-env.xml:
export HBASE_HEAPSIZE=4000
hbase-default.xml:
hfile.block.cache.size
3)HBase在写操作的时候会更新LruBlockCache吗?
从代码上看写的时候不会更新lruBlockCache!
4)如何将一个HBase CF指定为IN_MEMORY?
创建table的时候可以指定CF的属性,create 'taobao', {NAME => 'edp', IN_MEMORY => true}
5)HBase cache每次load的最小单位是block
6)如果每次load一个block到cache中,而以后不会再读取这个block,则这个block对block cache
hit ratio没有贡献啊,但是为什么block cache hit ratio有60%+呢?(这个我当初的错误理解,漏
洞还是很多的)
注意block cache hit ratio的最小计量单位应该是record,cache的最小单位才是block, 因为block
下面有很多record,后面的record借助了读第一个record带来的cache福利,所以block cache hit ratio
才会有60%+


7)如果只有一行一个cf,写入很大量的数据会不会发生region split?

  1. <property>  
  2.   <name>hbase.hregion.max.filesize</name>  
  3.   <value>67108864</value>  
  4.   <description>  
  5.   Maximum HStoreFile size. If any one of a column families' HStoreFiles has  
  6.   grown to exceed this value, the hosting HRegion is split in two.  
  7.   Default: 256M.  
  8.   </description>  
  9. </property>  

测试: 将参数hbase.hregion.max.filesize设置成64M以后,然后create table的时候只创建一个CF,测试的时候只往一个row + CF 下面塞入数据,数据量大概在80M左右,在web上显示的数目是107M,但是没有发生region split。这说明region split最小单位应该是row key级别,因为这里只有一个row,即使数据量已经上去了,但是还是没有发生region split.

posted on 2011-06-08 18:02 ivaneeo 阅读(728) 评论(0)  编辑  收藏 所属分类:

只有注册用户登录后才能发表评论。


网站导航: