hbase create table 是轻量级的吗?

Is hbase create table is lightweight?

我想重新设计一个存在 table,它包含两列 uuidconsumerId。在这个阶段,不同的uuid有50个数量,每个uuid超过100k的consumerId。
那么,创建50个table并用uuid命名,比如consumerId_{uuid001},来避免uuid列造成的冗余是否合理?

首先,您需要考虑如何使用此数据库的用例。 您是否需要为特定 consumerId 查找所有 uuid? 根据您提出的设计,这意味着您需要查询 50 个不同的表,然后合并结果,这根本不是一件容易的事。

我会选择以下选项之一:

  1. 保持原样 - 这是最灵活的方式,您可以很容易地通过 consumerId 查询所有 uuid,反之亦然。我看不出有额外的 100k 整数有什么问题,它只有几千字节。
  2. 修改结构,使 consumerId 存储在每个 uuid 的列表中。伪代码:table(uuid: String, consumerId: List<String>) 这肯定是紧凑的表示,但您可能很难构建某种类型的查询(其中 consumerId 是参数之一)。