0

我想将某些表指定为复制到所有 TiKV 存储,以便它们始终可用于本地连接(从而减少 TiDB 级别的昂贵分布式连接)。这将允许 TiKV 协处理器在本地加入该表,因为它始终可用(即:复制到每个 TiKV)。在“维度”和“事实”的 OLAP 术语中,这是一个维度表。在这种情况下,我想分割事实并复制维度。看来 TiDB 将一切都视为分片事实。这可以做到吗?如果不是,可以用其他技术近似吗?代码库对允许这种类型的功能的适应性如何?

4

1 回答 1

0

目前,TiDB 将每个表拆分为区域,并在区域级别进行复制。很难将一张表复制到每个 TiKV 服务器中,即使它只包含一个区域。比如 TiKV 集群有 100 个节点,但是配置的 Region 副本数是 5。

我们不需要在 TiKV 协处理器中做 join 操作。我们可以从 TiKV 中读取每个维度表,将 TiDB 节点相乘,并根据事实表的数据分布将每个涉及的 TiDB 节点关联到事实表的一部分。因此 join 操作是在 TiDB 层完成的。

上述技术尚未实现。但它已经在我们的路线图上。

于 2018-11-16T02:30:29.460 回答