1

考虑一个假设的 HBase 表。

  • (k, m, n)密钥必须对0 到 1000 之间的 3 元组整数进行编码。
  • m典型的读取是对和的范围查询n,将 的值固定为k
  • 读取负载相对于呈指数分布k。换句话说,少数几个值k负责大部分读取负载。

Alice 认为,"k-m-n"为了利用参考的局部性,密钥应该看起来像。理想情况下,一台机器应该能够服务于整个查询。

Bob 认为,"sha1(k-m)-n"为了避免热点,密钥应该看起来像:如果k=1访问非常频繁,那么所有k=1记录最好不要都在相同的几台机器上。

这两个论点对我来说都有意义。我如何确定哪个选项更具可扩展性/面向未来?有没有一种快速、实用的方法来凭经验对此进行测试?

4

0 回答 0