考虑一个假设的HBase表。
(k, m, n)
。m
和n
的范围查询,修正了k
的值。k
,读取负载为exponentially distributed。换句话说,k
的一些值负责大部分读取负载。 Alice认为密钥应该看起来像"k-m-n"
,以便利用引用的局部性。理想情况下,一台机器应该能够提供整个查询。
Bob认为密钥看起来应该像"sha1(k-m)-n"
,以避免hotspotting:如果k=1
被非常频繁地访问,那么对于所有k=1
来说都是明智的记录到不都在同一台机器上。
这两个论点对我都有意义。如何确定哪个选项更具可扩展性/面向未来?是否有一种快速,实用的方法来根据经验进行测试?