由于数据量的原因,我需要扩展我们的应用程序数据库.它在PostgreSQL 9.3上.所以,我发现PostgreSQL-XL并且它看起来很棒,但是我很难试图绕过分布式表的限制.通过复制(在每个datanode中复制整个表)来分发它们是完全可以的,但是假设我有两个大的相关表需要沿着数据节点"分片":
CREATE TABLE foos
(
id bigserial NOT NULL,
project_id integer NOT NULL,
template_id integer NOT NULL,
batch_id integer,
dataset_id integer NOT NULL,
name text NOT NULL,
CONSTRAINT pk_foos PRIMARY KEY (id),
CONSTRAINT fk_foos_batch_id FOREIGN KEY (batch_id)
REFERENCES batches (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT fk_foos_dataset_id FOREIGN KEY (dataset_id)
REFERENCES datasets (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE,
CONSTRAINT fk_foos_project_id FOREIGN KEY (project_id)
REFERENCES projects (id) MATCH SIMPLE
ON …Run Code Online (Sandbox Code Playgroud) postgresql database-partitioning horizontal-scaling postgres-xl