一、HBase性能优化方案(一):表的设计
a.Pre-Creating Regions:
默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。
b.RowKey原则:
HBase中row key用来检索表中的记录,支持以下三种方式:
• 通过单个row key访问:即按照某个row key键值进行get操作;
• 通过row key的range进行scan:即通过设置startRowKey和endRowKey,在这个范围内进行扫描;
• 全表扫描:即直接扫描整张表中所有行记录。
RowKey规则:
1、 越小越好
2、 Rowkey的设计是要根据实际业务来
3、 散列性:
a) 取反 001 002 100 200
b) Hash
c.Column Family
不要在一张表里定义太多的column family。目前Hbase并不能很好的处理超过2~3个column family的表。因为某个column family在flush的时候,它邻近的column family也会因关联效应被触发flush,最终导致系统产生更多