Citus表的类型

Citus表的类型

分布式表

分布式表元信息存储在协调器上,并经过分片后将数据存储在wrok节点上。

每个创建的分片表都分配一个唯一的分片ID。每个分片在工作节点上的表名为“tablename_shardid”的常规PostgreSQL表。

参考表

在每个work节点上创建同样的表,这些表具有相同的数据并不进行分片。

参考表的特征如下:
    需要与较大的分布式表连接的较小的表。
    多租户应用中缺少租户ID列或与租户无关的表。
    唯一约束由多个列组成,并且表很小。
    [tab3 foreign key(tab1.id, tab2.info)]

本地表

存储在协调器节点的常规PostgreSQL表

共址表(Co-Locating)

共址表并非一种表的类型,是一直种关系的集合,将这个集合称为共址表。

  • 共址的条件限制
    具有共同属性信息(相同的分片方法,相同的列类型,分片数量,分片因子的分布式表),可以组建成共址表

  • 不指定共址信息
    默认所有具有相同共同属性信息的表为一个共址表

  • 指定’none’
    创建新的共址表

  • 指定表名
    将本分布式表加入指定的共址表中

  • create_distributed_table
    使用方法参考此函数

  • 共址表作用

迁移使用:
    共址表是一种关系的集合,当扩容收缩时,会将共址表进行扩容收缩。
功能使用:
    外键join等确保同样的数据在同一个work上。
文章浏览总量 659 次

要发表评论,您必须先登录