由于实际的项目应用中,有很多不同的数据集,不同的数据访问模式和服务水平高低的不同预期。因此这些经验只是说到一些基本规则,具体在实现要根据自己的项目的实际业务的数据访问模式来进行调整。
主要的基本规则有:
1)Regions的大小定在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个列族,而且还写得比较频繁,那就要注意写的负载均衡。
本文介绍了HBase的一些最佳实践,包括Region大小、Cells大小、列族数量等关键参数的设置建议,以及如何避免写热点等问题。
836

被折叠的 条评论
为什么被折叠?



