命令"/>
hbase列族中增加一列命令
在创建HBase表时,一个好的列族设计,能够达到事半功倍的效果
列族设计中,对于一些属性参数的设置,会影响该表的读写性能,有些参数设置很简单,有些参数设置起来需要根据业务场景进行选择
今天我们来搞一搞HBase的列族设计,围绕以下几个方面:
1.BlockSize 数据块大小
2.BlockCache 数据块缓存
3.BloomFilter 布隆过滤器
4.Compression 压缩
5.Data Block Encoding 数据块编码
6.Version 版本
7.生存时间 TTL
1.BlockSize 数据块大小
BlockSize默认值64K或 65536字节
数据块大小,即每次读请求读取的最小数据大小
将数据块调大可以提高扫描的性能,将数据块调小可以增加随机读的速度
如果业务请求以Get请求为主,可以考虑将块大小设置较小;如果以Scan请求为主,可以将块大小调大;
命令如下:
create 'test',{name => 'column1', BLOCKSIZE=> '65536'}
2.BlockCache 数据块缓存
LRUBlockCache是HBase目前默认的BlockCache机制
HBase在此基础上采用了分层设计,将整个BlockCache分成了三个部分,BlockCache包含三个级别的优先级队列:
Single: 如果一个Block被第一次访问,则放在这一级的队列中
Multi: 如果一个Block被多次访问,则从Single队列移动Multi队列
In Memory: 优先级最高,常驻cache,在创建列族时定义,不会像其他两种cache会因访问频率而发生改变,这就决定了它的独立性,另外两种block访问次数再多也不会被放到in-memory的区段里去,in-memory的block不管是第几次访问,总是被放置到in-memory的区段中,但是In Memory除了保证优先级外,不会提供其他的保证
BlockCache数据块缓存默认是true
但值得注意的是&
更多推荐
hbase列族中增加一列命令
发布评论