HBase表设计的经验分享

本文介绍了HBase的一些最佳实践,包括Region大小、Cells大小、列族数量等关键参数的设置建议,以及如何避免写热点等问题。

       由于实际的项目应用中,有很多不同的数据集,不同的数据访问模式和服务水平高低的不同预期。因此这些经验只是说到一些基本规则,具体在实现要根据自己的项目的实际业务的数据访问模式来进行调整。

       主要的基本规则有:

       1Regions的大小定在10~50GB;
       2) Cells的大小不要超过10MB,如果要存储中型数据(超过50MB),可以选择将数据存储在HDFS上,然后在HBase中存储引用指针就好;
       3) 通常情况下,1个表的列族控制在1~3个,不能模仿关系型数据库的模式;
       4) 每个表的regions数量控制在50~100个。请记住region是一段连续的列族;
       5) 尽量使列族的名称简短,因为每个值都会存储列族名;
       6) 如果存储基于时间的数据或日志数据,row key是基于设备ID或服务ID加时间,这样的模式可能会导致新加的数据都写到新的region,而旧的region则不会被写,形成写热点;
       7) 如果只有1个列族,而且还写得比较频繁,那就要注意写的负载均衡。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值