hbase中表数的限制及其对性能的影响

hbase中表数的限制及其对性能的影响,hbase,Hbase,我们生产中的hbase模式有5个表。我们有N个客户端,其中在任何给定时刻只有10%的客户端处于活动状态。因此,对我来说,保持其余90%客户端的数据处于活动状态似乎是浪费资源。我想为每个客户机创建5个表,这样我就可以启用活动客户机的表,禁用其余客户机的表。据我所知,如果每个区域服务器超过1000个区域,那么性能就会开始下降。但我肯定不会达到这个极限。我的问题 如果我禁用一组表,那么这是否意味着我在hbase上的负载减少了 总体而言,这似乎是一个合理的策略吗 你对表现的期望是什么 您如何确定哪些客户

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

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

  • 你对表现的期望是什么

    您如何确定哪些客户机处于活动/无效状态

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

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

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

    • 更多区域,因为一个表至少包含一个区域,即使没有数据。HBase必须处理更多的活动存储文件等
    • 更多memstore(即:内存使用),因为没有定期刷新到磁盘(HFile),但只有当它们达到配置的阈值时才会刷新到磁盘(HFile)

    我所说的客户是指客户。我会事先知道哪些客户将访问我的应用程序,以及他们何时访问我的应用程序。这将有助于我通过java禁用表,或者在非常简单的情况下,我可以手动禁用表。读取的访问模式是,客户端将从其各自的5个表中获取数据。禁用表是否会减少hbase的资源需求(如堆等)?我想只有在我保持这些表处于活动状态时,才会出现您提到的两个问题。如果我知道一组表在未来两个月内不会被访问,那么我可以禁用这些表并节省一些资源吗?