推特 阿里云技术文档正文

预分区_HBase最佳实践_开发指南_云数据库 HBase 版

admin 阿里云技术文档 2020-02-11 210 0
阿里云服务器优惠

预分区

初次接触HBase的客户,在创建HBase表的时候,不指分区的数目,另外就是rowkey设计不合理,导致热点。

最为常见的建表语句为:

create ‘t3’,{NAME => ‘f1’,COMPRESSION => ‘snappy’ }, { NUMREGIONS => 50, SPLITALGO => ‘HexStringSplit’ }

  • 其中 NUMREGIONS 为 region的个数,一般按每个region 6~8GB左右来计算region数量,集群规模大,region数量可以适当取大一些
  • SPLITALGO 为 rowkey分割的算法:Hbase自带了三种pre-split的算法,分别是 HexStringSplit、DecimalStringSplit 和 UniformSplit。

    各种Split算法适用场景:

    • HexStringSplit: rowkey是十六进制的字符串作为前缀的
    • DecimalStringSplit: rowkey是10进制数字字符串作为前缀的
    • UniformSplit: rowkey前缀完全随机

    关于rowkey的设计可以参考:RowKey设计

  • COMPRESSION压缩算法,参考:数据压缩与编码
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

-----