在AI領域的大語言模型LLM(Large Language Model)應用中,檢索增強生成RAG(Retrieval-augmented Generation)技術通過檢索外部的輔助知識庫,能夠顯著提升模型輸出的準確性和時效性,解決了LLM知識更新慢、容易產生幻覺(回答不準確)的問題。與傳統的關鍵詞檢索相比,向量檢索具備語義層面的相似性檢索能力,支持非結構化數據和多模態數據檢索。PostgreSQL的pgvector插件,能夠在保持PostgreSQL原有結構化數據管理能力的基礎上,支持向量檢索功能。DTS的數據同步能力,能夠將寫入到PostgreSQL數據庫的向量數據快速地更新至不同地域的其他數據庫中,幫助您在數據密集型場景中實現異地容災、低延遲查詢、實時決策、多區域數據分析等。
前提條件
了解DTS同步實例支持的源庫和目標庫的版本。更多信息,請參見同步方案概覽。
了解DTS在PostgreSQL數據庫間單向同步的注意事項、費用信息、增量同步支持的SQL操作。更多信息,請參見附錄。
已將自建PostgreSQL數據庫接入至阿里云。更多信息,請參見本地IDC接入至阿里云、將AWS平臺的數據庫接入至阿里云、將Azure平臺的數據庫接入至阿里云。
已在自建PostgreSQL數據庫中,準備一個具備superuser權限的賬號,以便于進行數據同步。更多信息,請參見CREATE USER和GRANT。
方案概覽
創建數據庫實例
創建目標RDS PostgreSQL實例。
創建賬號
在目標RDS PostgreSQL實例中,創建用于數據同步的賬號。
創建數據庫
在目標RDS PostgreSQL實例中,創建用于接收數據的數據庫。
安裝插件
在目標RDS PostgreSQL實例中,為目標數據庫安裝pgvector插件,以支持寫入vector類型的數據。
創建數據同步實例
使用DTS進行數據同步操作。
準備工作
如下所示為Linux系統的操作步驟。
登錄自建PostgreSQL所屬的服務器。
執行如下命令,查詢數據庫已使用復制槽數量。
select count(1) from pg_replication_slots;
修改配置文件
postgresql.conf
,將配置文件中的wal_level
設置為logical
,并確保max_wal_senders
和max_replication_slots
的參數值,均大于數據庫復制槽已使用數與需要以該自建PostgreSQL為源創建的DTS實例數的總和。# - Settings - wal_level = logical # minimal, replica, or logical # (change requires restart) ...... # - Sending Server(s) - # Set these on the master and on any standby that will send replication data. max_wal_senders = 10 # max number of walsender processes # (change requires restart) #wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables #wal_sender_timeout = 60s # in milliseconds; 0 disables max_replication_slots = 10 # max number of replication slots # (change requires restart)
說明配置文件修改完成后,您需要重啟自建PostgreSQL使參數生效。
將DTS的IP地址加入至自建PostgreSQL的配置文件pg_hba.conf中。您只需添加目標數據庫所在區域對應的DTS IP地址段,詳情請參見添加DTS服務器的IP地址段。
說明配置文件修改完成后,您需要執行
SELECTpg_reload_conf();
命令或重啟自建PostgreSQL使參數生效。關于該配置文件的設置請參見pg_hba.conf文件。如果您已將信任地址配置為
0.0.0.0/0
(如下圖所示),可跳過本步驟。
根據待同步對象所屬的數據庫和Schema信息,在目標RDS PostgreSQL中創建相應數據庫和Schema(Schema名稱須一致),詳情請參見創建數據庫和Schema管理。
步驟一:創建數據庫實例
進入RDS實例購買頁面。
選擇實例的配置參數。
將引擎選擇為14、15或16版本的PostgreSQL,其他參數請根據實際情況選擇。更多信息,請參見創建RDS PostgreSQL實例。
確認訂單信息、購買量和購買時長(僅包年包月實例),勾選服務協議,單擊去支付,并完成支付。控制臺將提示支付成功或開通成功。
說明對于包年包月實例,建議選中啟用自動續費,避免因忘記續費而導致業務中斷。
按月購買,自動續費周期為1個月;按年購買,自動續費周期為1年,具體以訂單時間為準。自動續費可隨時取消。更多詳情,請參見續費管理/資源續訂使用介紹和自動續費。
查看實例。
進入實例列表,在上方選擇實例所在地域,根據創建時間找到剛剛創建的實例。
說明實例創建需要約1~10分鐘。請刷新頁面查看。
查看目標RDS PostgreSQL實例的內核小版本。
實例創建成功后,單擊目標實例的ID。
在目標實例的基本信息頁面的配置信息區域,查看小版本信息。
確保目標實例的內核小版本為20230430或以上。
說明若目標RDS PostgreSQL實例的內核小版本不滿足要求,請進行升級操作。更多信息,請參見升級內核小版本。
步驟二:創建賬號
步驟三:創建數據庫
步驟四:安裝插件
訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
在左側導航欄單擊插件管理。
在插件市場頁簽單擊AIGC,并單擊vector卡片的安裝。
在彈出的對話框,選擇數據庫名稱和數據庫賬戶。
單擊安裝。
您可以在
頁面,查看插件的安裝情況。
步驟五:創建數據同步實例
本操作以簡易配置為例,為您進行介紹創建數據同步實例的方法。更多信息,請參見自建PostgreSQL同步至RDS PostgreSQL。
進入目標地域的同步任務列表頁面(二選一)。
通過DTS控制臺進入
登錄數據傳輸服務DTS控制臺。
在左側導航欄,單擊數據同步。
在頁面左上角,選擇同步實例所屬地域。
通過DMS控制臺進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多信息,請參見極簡模式控制臺和自定義DMS界面布局與樣式。
登錄DMS數據管理服務。
在頂部菜單欄中,選擇
。在同步任務右側,選擇同步實例所屬地域。
單擊創建任務,進入任務配置頁面。
可選:在頁面右上角,單擊試用新版配置頁。
說明若您已進入新版配置頁(頁面右上角的按鈕為返回舊版配置頁),則無需執行此操作。
新版配置頁和舊版配置頁部分參數有差異,建議使用新版配置頁。
配置源庫及目標庫信息。
類別
配置
說明
源庫信息
數據庫類型
選擇PostgreSQL。
接入方式
請根據源庫的部署位置進行選擇,本示例選擇專線/VPN網關/智能網關。
說明源庫為自建數據庫時,您需要執行相應的準備工作。更多信息,請參見準備工作概覽。
實例地區
選擇自建PostgreSQL數據庫所屬專有網絡VPC的地域。
是否跨阿里云賬號
本示例使用當前阿里云賬號下的數據庫實例,需選擇不跨賬號。
已和源端數據庫聯通的VPC
選擇與自建PostgreSQL數據庫所屬的專有網絡VPC。
域名或IP地址
填入自建PostgreSQL數據庫的服務器IP地址。
端口
填入自建PostgreSQL數據庫提供服務的端口,默認為3433。
數據庫名稱
填入自建PostgreSQL數據庫中待同步對象所屬數據庫的名稱。
數據庫賬號
填入自建PostgreSQL數據庫中具備superuser權限的賬號。
數據庫密碼
填入該數據庫賬號對應的密碼。
連接方式
請根據實際情況選擇,本示例保持默認的非加密連接。
目標庫信息
數據庫類型
選擇PostgreSQL。
接入方式
選擇云實例。
實例地區
選擇步驟一:創建數據庫實例創建的RDS PostgreSQL實例所屬的地域。
實例ID
選擇步驟一:創建數據庫實例創建的RDS PostgreSQL實例的ID。
數據庫名稱
填入步驟三:創建數據庫創建的數據庫。
數據庫賬號
填入步驟二:創建賬號創建的賬號。
數據庫密碼
填入該數據庫賬號對應的密碼。
連接方式
請根據實際情況選擇,本示例保持默認的非加密連接。
配置完成后,在頁面下方單擊測試連接以進行下一步。
說明請確保DTS服務的IP地址段能夠被自動或手動添加至源庫和目標庫的安全設置中,以允許DTS服務器的訪問。更多信息,請參見添加DTS服務器的IP地址段。
若源庫或目標庫為自建數據庫(接入方式不是云實例),則還需要在彈出的DTS服務器訪問授權對話框單擊測試連接。
配置任務對象。
在對象配置頁面,配置待同步的對象。
配置
說明
同步類型
默認已選中增量同步,本示例同時選中庫表結構同步和全量同步。
同步拓撲
本示例為單向同步,需選擇單向同步。
目標已存在表的處理模式
保持默認的預檢查并報錯攔截。
源庫對象
在源庫對象框中,選中待同步的對象,然后單擊將其移動至已選擇對象框。
重要若待同步的表有依賴的序列(Sequence),且目標Schema中沒有同名的Sequence,您還需要在源庫對象框中選中該Sequence。
已選擇對象
本示例無需額外配置,保持默認即可。
單擊下一步高級配置,進行高級參數配置。
本示例無需進行修改,保持默認的配置。
單擊下一步數據校驗,進行數據校驗任務配置。
本示例不使用數據校驗功能,保持默認的配置。
單擊頁面下方的下一步保存任務并預檢查。
預檢查通過率顯示為100%時,單擊下一步購買。
購買實例。
在購買頁面,選擇數據同步實例的計費方式、鏈路規格,詳細說明請參見下表。
本示例無需進行修改,保持默認的配置。
勾選《數據傳輸(按量付費)服務條款》。
單擊購買并啟動,并在彈出的確認對話框,單擊確定。
您可在數據同步界面查看具體任務進度。
附錄
注意事項
類型 | 說明 |
源庫限制 |
|
其他限制 |
|
費用說明
同步類型 | 鏈路配置費用 |
庫表結構同步和全量數據同步 | 不收費。 |
增量數據同步 | 收費,詳情請參見計費概述。 |
增量同步支持的SQL操作
操作類型 | SQL操作語句 |
DML | INSERT、UPDATE、DELETE |
DDL |
|