本文介紹RDS資料來源配置步驟及注意事項。
RDS資料來源配置
雲資料庫(Relational Database Service,即關係型資料庫服務,簡稱RDS)是阿里雲對外提供的一種即開即用、穩定可靠、可Auto Scaling的線上資料庫服務( 瞭解RDS )。
購買RDS前須知
-
OpenSearch目前支援RDS for MySQL(支援版本5.5,5.6,5.7,8.0)。
-
購買RDS執行個體時,必須是常規執行個體,雙機高可用版,RDS MySQL基礎版和三節點企業版為非高可用版,不支援。
-
RDS執行個體必須隸屬於當前登入的阿里雲帳號,且所在地區與OpenSearch應用地區一致才能訪問使用。
-
當RDS為高可用版時支援RDS clone執行個體。
-
不支援的RDS執行個體及不滿足相關限制的RDS執行個體索引重建將會失效。
-
RDS資料來源只支援VPC網路。
-
不支援DRDS資料來源。
-
授權:對OpenSearch擷取RDS資料做授權操作,在使用者佈建了IP白名單的情況下,OpenSearch會將所用IP添加到使用者白名單中。若不勾選授權,則串連資料不會高亮顯示。
支援功能
-
支援(手動/定時索引重建)拉取指定資料庫表全量。
-
支援單個或多個資料來源表資料橫向合并,要求這些源表結構及資料來源外掛程式配置必須完全相同,並且主索引值均不重複(主索引值重複會覆蓋),主要支援以下2種情境:
-
應用表中配有一個資料來源,並且包含多個源表。
-
應用表中配有多個資料來源,並且各資料來源包含1個或多個源表。
-
-
支援資料來源欄位轉換外掛程式。
-
支援的資料同步方式:
-
自動同步。
-
自購DTS即時同步。
-
不自動同步。
-
-
支援(全量)過濾條件。
-
支援通過萬用字元
*匹配資料庫表名。
-
當您選擇“自動同步”作為資料同步方式時,將啟用 OpenSearch 提供的內部服務來訂閱資料庫的 binlog,並同步增量資料。請注意,如果發生使用者端的變更操作,如刪除資料庫表、變更存取權限、清理 binlog 日誌或修改資料庫密碼等,可能會導致 OpenSearch 無法成功訂閱並同步所配置表的binlog。在這種情況下,由於增量資料無法同步,OpenSearch 將不承擔任何責任。使用者應確保在進行此類操作前已經完全瞭解可能產生的影響,並採取必要的預防措施。
-
同步方式選擇自動同步,OpenSearch將儘力保障同步服務的穩定性但不保障同步的延遲,如果對同步延遲比較敏感的業務建議同步方式採用DTS資料訂閱執行個體(DTS即時同步)。
相關限制
-
只支援RDS的binlog為full模式。
-
僅支援RDS高可用系列和叢集系列。
-
支援的RDS的資料庫版本5.5/5.6/5.7/8.0。
-
5.6版本的RDS,建議合理調大參數loose_max_execution_time、loose_max_statement_time的閾值,以免在索引重建時報錯類似錯誤:Query execution was interrupted, max_statement_time exceeded。
-
RDS執行個體必須隸屬於當前登入的阿里雲帳號,且所在地區與OpenSearch應用地區一致才能訪問使用。
-
標準版應用在配置RDS資料來源後,不支援(SDK/API)推送增量。
-
(外網地區)標準版應用的RDS資料來源,暫不支援資料來源過濾條件。
-
不支援replace into文法。
-
不支援truncate和drop命令,請使用delete命令刪除資料。
-
當RDS為高可用版時支援RDS clone執行個體。
-
RDS 訪問密碼不能包含
%符號,會導致索引重建任務失敗。 -
不支援通過RDS高許可權帳號訪問。(否則串連RDS會失敗)。
-
不支援在不同資料庫源表結構之間做欄位列合并。
-
不支援無binlog的replica client 和 replica slave,檢查及開啟方式,請點擊查看文檔。
注意事項
-
支援通過內網或外網訪問RDS,OpenSearch對RDS資料擷取均不收取任何流量費用。
-
OpenSearch僅支援從主庫拉取全量資料,建議根據您的業務繁忙情況,選擇低峰期索引重建匯入全量資料。
-
RDS表中datetime及timestamp此類時間類型,系統會自動轉化為毫秒數,請將對應應用表欄位類型設定為TIMESTAMP。
-
RDS地址預設開啟,外網需要手動申請,外網地址申請通過後才能通過外網訪問。
-
不符合資料來源過濾條件的(全量)文檔會被過濾,並且如果對應應用表中存在相同主索引值的文檔也會一併刪除。
-
通過OpenSearch同步RDS資料來源資料時,需要將OpenSearch伺服器的IP位址區段加入到RDS白名單中,各地區的IP白名單可參考如下列表:
地區
IP位址區段
杭州
100.104.190.128/26,100.104.241.128/26
北京
100.104.16.192/26,100.104.179.0/26
上海
100.104.37.0/26,100.104.46.0/26
深圳
100.104.87.192/26,100.104.132.192/26
青島
100.104.240.128/26,100.104.111.128/26
張家口
100.104.155.192/26,100.104.238.64/26
德國
100.104.127.0/26,100.104.35.192/26
美國
100.104.193.128/26,100.104.119.128/26
新加坡
100.104.58.192/26,100.104.74.192/26
帳號授權問題
MySQL5.7/8.0 接入和使用建議:
-
MySQL5.7+ 接入時,需要授權訪問RDS執行個體。並且填寫帳號密碼,初次接入時,請謹慎選擇帳號密碼。
-
【確保帳號許可權】必須確保帳號能有查看該庫所有表的許可權(上遊DTS服務的限制), 保證能正確執行 show create table
*. *,如果沒有。可能會發生即時服務同步出現問題。 -
【少做帳號許可權變更】當前OpenSearch即時任務也是MySQL的用戶端。帳號變更會帶來當前即時任務的不能正常消費。同時新版本建立也會受影響。若變更帳號密碼,需要刪除執行個體重新接入庫。
-
OpenSearch需要使用者RDS的最小許可權是:
-
show create table許可權。
-
REPLICATION SLAVE 或 REPLICATION CLIENT許可權。
-
binlog_row_image為FULL。
-
binlog_format 為ROW。
-
常見問題
-
使用RAM子帳號在控制台中為應用配置RDS資料來源,必須要對該RAM子帳號進行授權,否則會提示串連RDS服務失敗,請稍後再試,參考 RAM(子帳號)的建立及授權文檔(確保主帳號有建立OpenSearch服務關聯角色)。
-
RDS訪問密碼不能包含
%符號,否則會導致索引重建任務失敗。(報錯提示: Illegal hex characters in escape (%) pattern)。 -
系統要求應用表主索引值不重複,如果分表情況下主索引值有重複會覆蓋,可使用StringCatenateExtractor資料來源外掛程式合并多個欄位值,來源欄位為
pk,$table(pk替換為RDS表主鍵欄位,$table為預設系統變數,表示對應資料庫表名,$table需要配置萬用字元分表時才可以用),拼接字元為-(可自訂)。例如,RDS表為my_table_0,主鍵欄位值為123456,拼接後新主索引值為123456-my_table_0。 -
根據資料庫表中的date或datetime欄位類型過濾資料,假設資料庫表欄位名為createtime,則資料來源過濾條件中的時間格式必須為
createtime>'2018-03-01 00:00:00',如果使用createtime>'2018-3-1 00:00:00'這種格式會報錯。
配置RDS資料來源流程
控制台配置步驟及注意事項
-
選擇RDS資料來源,點擊新建数据库。
-
RDS資訊填寫完成後,點擊連線按鍵。
參數名稱
說明
執行個體ID
RDS資料庫的執行個體ID(不是名稱),可以在RDS控制台中擷取(大小寫敏感),暫不支援唯讀執行個體,需填寫的執行個體ID格式參考: rm-bp19b4g5n11111111
資料庫名
該執行個體下需要串連的資料庫名(大小寫不敏感)。
使用者名稱
資料庫唯讀使用者名稱,用於擷取資料庫表模式及全量資料(大小寫敏感且具有隻讀許可權)。
密碼
唯讀使用者名稱對應的密碼。
OpenSearch會嘗試串連,並根據具體情形,給出結果提示:
提示資訊
處理方法
目前使用者的目前範圍沒有此RDS執行個體
請檢查執行個體ID是否正確,並確保RDS執行個體所在地區與OpenSearch應用地區一致。如果條件符合仍然報錯,可提工單反饋
串連RDS服務失敗
請檢查RDS串連串是否正確包括執行個體ID、資料庫名、使用者名稱、密碼
當前RDS資料庫下沒有此表
請檢查表名填寫是否正確,以及RDS資料庫中是否確實存在該表
-
已建立資料來源串連介面如下,選擇對應表,並單擊向右箭頭,儲存到右側已選擇介面。
在選擇資料來源彈窗中,先通過RDS、ODPS、POLARDB、DRDS頁簽關聯資料來源類型,再在選擇資料庫地區關聯目標資料庫,完成表選擇後單擊確定。
-
選擇或輸入該資料庫下需要訪問的表名(大小寫敏感)。
-
支援分表規則 table_* 的方式,例如 table_a、table_b 等。
-
-
欄位對應,選擇需要拉取的資料庫欄位。單擊確定,完成應用建立。
OpenSearch應用欄位與資料來源欄位名一致時會自動對應,不一致則需要單擊+ 添加資料手動添加映射關係。
-
在該介面可以添加需要映射同步的資料庫欄位。
-
在該介面中的內容轉換,可以添加資料來源外掛程式,外掛程式的使用及說明文檔,請點擊此處。

-
-
配置RDS資料來源過濾條件。
資料表
test_table_1的資料同步方式選擇 DTS資料訂閱執行個體,可在操作列單擊編輯或刪除管理已添加的資料來源,單擊+ 添加資料添加更多資料表,並在過濾條件地區設定資料來源過濾條件。-
OpenSearch應用表中也可配置多個資料來源,但最終這些表結構及配置必須完全相同。
-
RDS資料來源配置的過濾條件只能拉取符合該條件的記錄,詳細配置請參考資料來源過濾條件。
-