0

我们在生产中的 hbase 模式有 5 个表。我们有 N 个客户,其中只有 10% 的客户在任何给定时刻都处于活动状态。所以对我来说,保持剩余 90% 客户的数据处于活动状态似乎是一种资源浪费。我正在考虑为每个客户端创建 5 个表,以便我可以启用活动客户端的表并禁用其余客户端的表。根据我的阅读,如果每个区域服务器超过 1000 个区域,那么性能就会开始下降。但我肯定不会达到这个极限。我的问题

  1. 如果我禁用一组表,这是否意味着我在 hbase 上的负载减少了?
  2. 总体而言,这似乎是一个合理的策略吗?
4

1 回答 1

0

你对表演有什么期待?

您将如何确定哪些客户是活跃的/不活跃的?

您将如何为非活动客户端禁用自动未使用的表?

那么读取的访问模式是什么?您的客户是否会仅读取其单个表中的数据?

处理大量表格会导致几个问题:

  • 更多区域,因为 1 个表包含 - 至少 - 1 个区域,即使没有数据。HBase 将不得不处理更多活动的 StoreFiles 等。
  • 更多的内存存储(即:内存使用),因为没有定期刷新到磁盘(HFile),但只有当它们达到配置的阈值时。
于 2012-08-24T06:11:39.650 回答