我想将某些表指定为复制到所有TiKV存储中,以便始终可以在本地与它们联接(从而减少TiDB级别上昂贵的分布式联接)。这将允许TiKV协处理器本地连接到该表,因为它始终可用 (即:复制到每个TiKV)。在“维度”和“事实”的OLAP术语中,这是一个维度表。在这种情况下,我想分割事实并复制维度。 TiDB似乎将所有内容都视为碎片事实。能做到吗?如果不是,是否可以使用其他技术对其进行近似?代码库如何允许这种类型的功能?
答案 0 :(得分:0)
目前,TiDB将每个表划分为多个区域,并在区域级别进行复制。即使表仅包含一个区域,也很难将表复制到每个TiKV服务器中。例如,TiKV集群中有100个节点,但是区域副本的配置数量为5。
我们不需要在TiKV协处理器中执行联接操作。我们可以从TiKV中读取每个维度表,以乘以TiDB节点,并根据事实表的数据分布将每个涉及的TiDB节点关联到事实表的一部分。因此,联接操作是在TiDB层中完成的。
上述技术尚未实现。但这已经在我们的路线图上。