温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hbase之表设计原则

发布时间:2020-07-01 21:48:33 来源:网络 阅读:492 作者:恶魔苏醒ing 栏目:关系型数据库

1、列簇的设计

  • 列簇尽量少,最好不超过3个。因为每个列簇是存在一个独立的HFile里的,flush和compaction操作都是针对一个Region进行的,当一个列簇的数据很多需要flush的时候,其它列簇即使数据很少也需要flush,这样就产生的大量不必要的io操作。

  • 在多列簇的情况下,注意各列簇数据的数量级要一致。如果两个列簇的数量级相差太大,会使数量级少的列簇的数据扫描效率低下。

  • 将经常查询和不经常查询的数据放到不同的列簇。

  • 因为列簇和列的名字会存在HBase的每个Cell中,所以他们的名字应该尽可能的短。比如,用f:q代替mycolumnfamily:mycolumnqualifier

2、rowkey的设计

  • 避免使用递增的数字或时间做为rowkey。

  • 如果rowkey是整型,用二进制的方式比用string来存储更节约空间

  • 合理的控制rowkey的长度,尽可能短,因为rowkey的数据也会存在每个Cell中。

  • 如果需要将表预分裂为多个region是,最好自定义分裂的规则。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI