全部產品
Search
文件中心

PolarDB:AutoETL跨地區資料同步

更新時間:Jun 10, 2026

PolarDB支援建立全球資料庫網路(GDN),實現多個地區的PolarDB叢集之間的資料同步。GDN網路中的每個PolarDB叢集都可以建立對應的PolarSearch節點,提供跨地區的檢索服務。本文介紹如何通過AutoETL將資料同步到其他地區叢集的PolarSearch節點。

背景資訊

在GDN網路中,資料通過主叢集同步到各從叢集,每個叢集可以獨立提供讀服務。當您需要在從叢集上使用PolarSearch進行搜尋和分析時,可以通過AutoETL建立跨地區的資料同步鏈路,將資料同步到指定從叢集的PolarSearch節點。

AutoETL的跨地區同步鏈路均由主叢集建立和管理。您可以通過esl_link_options會話變數中的gdn-cluster參數指定同步鏈路所屬的從叢集。

同步到主叢集的PolarSearch節點

預設不配置gdn-cluster參數時,AutoETL自動將資料同步到主叢集的PolarSearch節點。

樣本:建立搜尋視圖,將db1.t1表的資料同步到主叢集的PolarSearch節點。

CREATE SEARCH VIEW view_cluster_master AS SELECT * FROM db1.t1;

同步到指定從叢集的PolarSearch節點

配置gdn-cluster參數後,AutoETL將從指定的從叢集同步資料到對應的PolarSearch節點。

通過搜尋視圖同步

建立搜尋視圖,將資料同步到從叢集instance-1的PolarSearch節點。

SET esl_link_options="'gdn-cluster'= 'instance-1'";
CREATE SEARCH VIEW view_cluster_slave AS SELECT * FROM db1.t1;

通過ETL預存程序同步

建立ETL預存程序,將資料同步到從叢集instance-1的PolarSearch節點。

SET esl_link_options="'gdn-cluster'= 'instance-1'";
CALL dbms_etl.sync_by_sql("search", "CREATE TEMPORARY TABLE `db1`.`t1` (
  `id`   BIGINT,
  `c1`   STRING,
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'mysql',
  'database-name' = 'db1',
  'table-name' = 't1'
);
CREATE TEMPORARY TABLE `dest` (
  `id`  BIGINT,
  `c1` STRING,
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'opensearch',
  'index' = 'dest'
);
INSERT INTO `dest` SELECT * FROM `db1`.`t1`;
");

查看鏈路所屬叢集

通過查看搜尋視圖的建立語句,確認鏈路所屬的叢集。

SHOW CREATE SEARCH VIEW view_cluster_slave;

返回結果樣本如下,Options欄位中顯示了鏈路所屬的叢集。

+-----------------------+--------------------------------------------------------------------+---------------------------------+
| View Name             | Create view                                                        | Options                         |
+-----------------------+--------------------------------------------------------------------+---------------------------------+
| view_cluster_slave    | create search view `view_cluster_slave` as select * from `db1`.`t1`| 'gdn-cluster'='instance-1'      |
+-----------------------+--------------------------------------------------------------------+---------------------------------+

監控同步鏈路

跨地區同步鏈路的AutoETL監控需要在從叢集的控制台中查看。

  1. 登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。

  2. 在左側導覽列,選擇性能监控 > 搜索集群 > 同步鏈路,查看同步鏈路的運行狀態。

使用限制

  • 同一個搜尋視圖只能同步到一個從叢集的PolarSearch節點。

  • gdn-cluster參數指定的叢集必須已建立並加入GDN網路。

  • esl_link_options是串連級的會話變數,設定的gdn-cluster會持續生效直到中斷連線。

相關文檔