Citus 与 jsonb 关系的共置
Citus co-location with jsonb relation
我正在尝试使用 citus 在集群中共同定位表,但在 json 方案的表中提到了这种关系,如下例所示:
TABLE person(
id uuid PRIMARY KEY,
...
);
TABLE event(
id uuid PRIMARY KEY,
resource jsonb NOT NULL,
...
);
并且在资源列中提到了关系,在这个例子中也是如此:
resource{
...,
subjetc{
resource_type: person,
reference: uuid
}
}
是否可以创建分布式表,以便它们通过这种关系位于同一位置?
不,这目前是不可能的。您必须向事件 table 添加一个与 resource->>subject->>reference
具有相同内容的 subject_id
列才能使此工作正常进行。这确实会稍微复制数据,但这是目前唯一受支持的方式。
我正在尝试使用 citus 在集群中共同定位表,但在 json 方案的表中提到了这种关系,如下例所示:
TABLE person(
id uuid PRIMARY KEY,
...
);
TABLE event(
id uuid PRIMARY KEY,
resource jsonb NOT NULL,
...
);
并且在资源列中提到了关系,在这个例子中也是如此:
resource{
...,
subjetc{
resource_type: person,
reference: uuid
}
}
是否可以创建分布式表,以便它们通过这种关系位于同一位置?
不,这目前是不可能的。您必须向事件 table 添加一个与 resource->>subject->>reference
具有相同内容的 subject_id
列才能使此工作正常进行。这确实会稍微复制数据,但这是目前唯一受支持的方式。