HBase1.2.3版本表属性介绍

一、查看表




二、属性介绍


   2.1 BLOOMFILTER


         布隆过滤器,可选值NONE|ROW|ROWCOL,默认为NONE,该参数可以单独对某个列簇启用。对于get操作以及部分scan操作可以剔除掉不会用到的存储文件,减少实际IO次数,提高随机读性能。Row类型适用于只根据Row进行查找,而RowCol类型适用于根据Row+Col联合查找,如下:

       Row类型适用于:get ‘NewsClickFeedback’,’row1′  

       RowCol类型适用于:get ‘NewsClickFeedback’,’row1′,{COLUMN => ‘Toutiao’}

       对于有随机读的业务,建议开启Row类型的过滤器,使用空间换时间,提高随机读性能。 具体blommfilter的原理可参加这篇http://blog.csdn.net/hguisu/article/details/7866173

 

   2.2 VERSIONS/MIN_VERSION


        Hbase的数据存储有多版本的概念,默认数据的版本为1,每次更新数据的时候,会根据不同的时间戳保存不同的版本数据,如果想保存多份数据,可将最大版本数设置大于1。


    2.3 IN_MEMORY


       Blockcache读缓存会分几个层级,第一级就是IN_MEMORY级缓存,表示常驻内存,一般情况下元数据信息会放在IN_MEMORY级,而不要将大数据量设置为常驻内存,这样会将meta元数据信息给置换出去。


   2.4 KEEP_DELETED_CELLS


       HBase允许进行基于时间的查询从而得到指定时间段的历史数据。查询时间T的数据即查询[0,T+1)的数据。这样就带来了一个潜在的问题。当一个 delete marker被set上,所有被它影响到的数据都不再可见。如果你在时间T put了一个qualifier为C的数据,接着在T+X的时间点删除这个qualifier,此时查询[0,T+1)时间段的数据将不会返回 qualifier为C的这个KV对,而假如KEEP_DELETED_CELLS = true的话,被删除的数据在基于时间的历史数据查询中依然可见。


   2.5 DATA_BLOCK_ENCODEING


       数据编码格式,数据在落盘之前首先会对KV数据进行编码;数据块在缓存前并没有执行解码,因此即使后续命中缓存的查询也是编码的数据块,需要解码后才能获取到具体的KV数据。默认为NONE。

 

     2.6 TTL


        数据的过期时间,对于过期时间的数据,会在执行major compaction的时候删除。


     2.7 COMPRESSION


        数据压缩方式,意思是数据在落盘前是执行压缩以此减少存储空间,在读取后需要解压缩,目前hbase执行GZip | LZO | Snappy等压缩方式,说白了就是耗CPU,从而减少存储空间,一般情况下选择Snappy的压缩方式,虽然压缩率不高,但CPU消耗较少。


    2.8 BLOCKCACHE


          读缓存,默认一个HRegionServer一个BlockCache,建议开启,默认也是开启。


    2.9 BLOCKSIZE


        数据块大小,默认块大小为64M。对于不同的业务数据,块大小的合理设置对读写性能有很大的影响。而对块大小的调整,主要取决于两点:

       1、 用户平均读取数据的大小。理论上讲,如果用户平均读取数据的大小较小,建议将块大小设置较小,这样可以使得内存可以缓存更多block,读性能自然会更好。相反,建议将块大小设置较大。

       2、 数据平均键值对大小,如果HFile存储的kv键值对叫小,可以将blocksize设置小一点,减少在hfile里数据的寻址时间。


    2.10 REPLICATION_SCOPE


          如果你的hbase集群需要主从同步或者主主同步,需要在table上打开REPLICATION_SCOPE。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值