小T導讀:本篇文章是“2024,我想和 TDengine 談談”征文活動的優秀投稿之一,作者從數據庫運維的角度出發,分享了利用 TDengine Cloud 提供的遷移工具,從 PostgreSQL 數據庫到 TDengine 進行數據遷移的完整實踐過程。文章詳細記錄了從創建數據庫實例、配置代理,到添加數據源、同步數據的每一個步驟,并結合實際操作中遇到的問題與解決經驗,展現了 TDengine Cloud 的便利性和研發團隊的高效響應能力。對于關注數據庫遷移的技術人員來說,這篇文章是一個寶貴的經驗分享。
從數據庫管理員(DBA)或運維人員的角度來看,判斷數據庫是否易用,最直觀且通常最先面臨的問題便是存量數據庫的遷移。如果數據庫廠商能夠提供一款高效便捷的遷移工具,使用戶能夠快速將源數據庫的數據遷移至目標數據庫,不僅能為用戶留下良好的第一印象,也將大大促進后續工作的順利開展。由于線下缺乏合適的遷移工具,因此本文將利用 TDengine Cloud 提供的遷移工具,對從 PostgreSQL 數據庫遷移至 TDengine 的過程進行初步體驗和探索。
創建數據庫實例
首先,我們需要在官方 TDengine Cloud 平臺(https://cloud.taosdata.com/auth)上完成注冊并創建數據庫實例。該過程操作簡便,此處不再贅述。
創建新的代理
由于我的源數據庫位于本地虛擬機,而目標數據庫托管于 TDengine Cloud,因此需要在本地虛擬機上安裝代理,以確保 TDengine Cloud 能夠訪問本地虛擬機中的 PostgreSQL 數據庫。
1.點擊左側數據寫入菜單,在該界面中,再次點擊創建新的代理。
2.根據實際環境選擇適配的代理軟件版本進行下載。以官網提供的 Linux 版本為例,本文下載的是 x86 架構的代理程序。下載并安裝完成后,通過命令 taosx-agent -V
驗證安裝是否成功,然后點擊“下一步”繼續操作。
3.在該界面輸入代理名稱,系統將為它生成一個連接令牌。
4.在已安裝代理程序的服務器上,進入 /etc/taos
目錄,找到 agent.toml
文件,將系統生成的端點地址和令牌復制到該文件中進行配置。
endpoint="https://39.97.158.21"
token="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEzNywiaWF0IjoxNzI2MTk2NDY3fQ.YmxGvRzlXdOgpXEKiUv-x68TFRzkYhXIRcJgRiWY0xk"
5.啟動代理服務并查看服務器的狀態。
添加數據源
1.在數據寫入的頁面中,點擊添加數據源。
2.在數據源配置界面中,選擇數據源類型為 PostgreSQL,代理選擇之前創建的代理,目標數據庫選擇已創建的 demo 數據庫(本文直接使用此前創建的數據庫)。如果需要,也可參考下一步自行創建新數據庫。
3.創建 demo 數據庫。
4.填寫 PostgreSQL 數據庫 IP、端口、數據庫名、用戶名、密碼等信息。
5.檢查連通性,如果界面提示“您的數據源可以連通”,就表示配置沒什么問題。
6.配置采集數據的 SQL,在 SQL 中必須包括開始時間與結束時間。
7.點擊從服務器檢索,觀察是否可以成功獲取到數據。如果報錯,則根據報錯提示,修改 SQL 配置。
8.點擊創建超級表,會自動關聯剛才識別到的字段信息,根據需要修改字段類型、填寫表名稱,最后點擊確定按鈕。
9.點擊確認按鈕后,超級表就創建成功了。接下來,我們需要在當前界面填寫子表和 tag 列對應數據。
10.點擊新增按鈕,數據源添加成功,并可在數據源列表中查看相關信息。
查看數據同步情況
點擊剛剛接入數據源的“查看”按鈕,即可查看同步信息,包括同步時長、寫入速度以及已處理的行數等詳細數據。
核對同步數據
點擊數據瀏覽器,選擇對應的數據并查看業務表,就可以看到同步的數據。
你也可以自行寫 SQL 來核對已經同步的數據量。
結語
本次從 PostgreSQL 數據庫遷移至 TDengine的體驗整體非常流暢。即使在遷移過程中遇到問題,也能夠借助官方提供的支持快速定位并解決,充分展現了 TDengine 工具的便捷性和研發團隊的高效響應能力。如果你也對 TDengine 的遷移工具感興趣,不妨親自嘗試操作,體驗其強大的功能。
TDengine 有話說
作為一款專注于時序數據的高效數據庫,我們始終致力于簡化用戶的遷移過程。在 TDengine 3.3.0.0 和 3.3.2.0 版本中,我們進一步增強了數據接入功能,實現了傳統關系型數據庫向 TDengine 的平滑遷移。這兩次重要更新成功打通了 MySQL、PostgreSQL、Oracle 和 SQL Server 到 TDengine 的遷移路徑,大幅提升了遷移效率和用戶體驗。
不僅如此,TDengine 在數據接入方面還支持與多種數據源的無縫對接,包括 AVEVA Historian、OPC、Kafka、MQTT、InfluxDB 和 PI System 等,充分滿足用戶在多樣化場景中的數據管理需求。