Configuring selective replication

Configuring selective replication#

Replication sets を使用して、どのテーブルがどのノードにレプリケートするかを制御し、リージョン内に機密または場所固有のデータを保持します。

各ノードグループには、同じ名前の事前構成されたレプリケーションセットがあります。デフォルトでは、すべてのテーブルはトップレベルグループのレプリケーションセットに属し、クラスター内のすべてのノードにレプリケートされます。

グループ階層とそれに関連するレプリケーションセットを表示するには

SELECT node_group_name, default_repset, parent_group_name
FROM bdr.node_group_summary;

テーブルが現在どのレプリケーションセットに属しているかを確認するには

SELECT relname, set_name FROM bdr.tables ORDER BY relname, set_name;

テーブルを特定の場所に制限するには、それらの場所のレプリケーションセットに追加し、トップレベルグループのレプリケーションセットから削除します。

SELECT bdr.replication_set_add_table(<table_name>, <location_a>);
SELECT bdr.replication_set_add_table(<table_name>, <location_b>);
SELECT bdr.replication_set_remove_table(<table_name>, <top_level_group>);

この変更後、 <location_a> のノードのテーブルへの書き込みは<location_a> の他のノードにのみレプリケートされ、 <location_b> ノードの書き込みは<location_b> 内でのみレプリケートされます。

トップレベルレプリケーションセットに残ったテーブルは、どこでもレプリケートし続けます。製品カタログや構成など、すべての場所で必要なグローバル参照データのトップレベルのレプリケーションセットを使用します。