2

Apache Phoenix 允许创建将数据分布在区域服务器上的加盐表。例如

CREATE TABLE table (a_key VARCHAR PRIMARY KEY, a_col VARCHAR) SALT_BUCKETS = 20;

为了使用此功能,必须选择多个盐桶。这个盐桶数量怎么选?它应该基于区域服务器的数量吗?如果我打算稍后添加更多区域服务器怎么办?

4

2 回答 2

5

HBase 表分为区域。一个 RegionServer 可以容纳几个 100 个区域。因此,理想情况下,它应该取决于:
您希望数据中有多少随机分布?
更多的桶与随机分布(即负载平衡)成正比。但是,您也会失去进行基于范围的扫描的灵活性。

从理论上讲,您将来应该能够增加“salt_buckets”。相反,您将来将无法减少“salt_buckets”。所以,我建议从名义数量的桶开始。(注意:我不确定凤凰是否允许增加桶的数量。)

于 2015-05-21T05:23:36.527 回答
1

根据官方页面,buckets = RegionServers:https ://phoenix.apache.org/performance.html#Salting 。

于 2016-07-05T10:27:31.657 回答