Apache Phoenix允许创建salted tables,以便在区域服务器上分发数据。 e.g。
CREATE TABLE table (a_key VARCHAR PRIMARY KEY, a_col VARCHAR) SALT_BUCKETS = 20;
为了使用此功能,必须选择许多盐桶。如何选择这个数量的盐桶?它应该基于区域服务器的数量吗?如果我计划稍后添加更多区域服务器该怎么办?
答案 0 :(得分:4)
HBase表分为区域。 RegionServer可以容纳几个100个区域。因此,理想情况下,它应取决于:
您希望在数据中随机分配多少?
更多桶与随机分布成比例a.k.a负载平衡。但是,您也将无法灵活地进行基于范围的扫描。
理论上,你应该能够增加" salt_buckets"在未来。相反,你不能减少" salt_buckets"在未来。所以,我建议从标称数量的桶开始。(注意:我不确定凤凰是否允许增加桶的数量。)
答案 1 :(得分:1)
根据官方网页,buckets = RegionServers:https://phoenix.apache.org/performance.html#Salting。