時序數據庫 TDengine 到 MySQL 數據遷移同步

簡述

TDengine 是一款開源、高性能、云原生的時序數據庫,專為物聯網、車聯網、工業互聯網、金融、IT 運維等場景優化設計。在工業自動化的時代,時序數據庫在電力、軌道交通、智能制造等領域有著廣泛的應用。

MySQL 是全球廣泛使用的開源關系型數據庫,能夠高效處理大量數據和復雜查詢需求,并且具有較強的穩定性和可靠性。

本文主要介紹如何通過 CloudCanal 實現 TDengine 到 MySQL 數據遷移同步。

應用場景

  • 數據備份與歸檔:將 TDengine 的數據遷移到 MySQL 作為備份或歸檔,確保數據長期保存和恢復,提升數據的安全性和高可用性。
  • 復雜查詢:MySQL 支持復雜 SQL 查詢和事務處理,適合需要對時序數據進行深度分析或關聯查詢的場景。
  • 數據集成與共享:企業通常會同時使用多種數據庫,將 TDengine 的數據同步到 MySQL,便于將時序數據與其他業務數據進行關聯分析。
  • 數據分析:將 TDengine 的數據同步到 MySQL 后,可再通過 CloudCanal 將數據同步到其他分析型數據庫或數倉,支持更復雜的數據分析和操作,滿足更多業務需求。

技術點

增量數據同步整體流程

CloudCanal 基于 Query Topic 實現 TDengine 到 MySQL 的數據同步,同步流程如下:

  1. 創建 Topic,通過 Topic 訂閱 TDengine 數據庫的變更事件(無法捕獲 DELETE 事件)。
  2. 執行增量數據同步。
  3. 捕獲變更事件,記錄表級 offset 位點。

表級別多位點

CloudCanal 支持 TDengine 源端表級別多位點,即可以在表級別進行多位點的配置,確保每個表能夠消費各自對應的增量同步位點。位點的具體體現為:

[{"db": "us_power","table": "s1","topic": "canalt7g262cm6jy_increment_us_power_s1","offset": 1010,"vgroup": 3,"timestamp": 1715828416114 },{"db": "us_power","table": "s2","topic": "canalt7g262cm6jy_increment_us_power_s2","offset": 2093,"vgroup": 3,"timestamp": 1715828311123},...
]

納秒級時間戳同步

TDengine 最高支持納秒級 Timestamp 類型,而 MySQL 最高支持微秒級 Timestamp 類型。CloudCanal 支持納秒級時間戳同步,將 TDengine 納秒級時間戳轉換為 MySQL BIGINT 類型數據。

操作示例

步驟 1: 安裝 CloudCanal

請參考 全新安裝(Docker Linux/MacOS),下載安裝 CloudCanal 私有部署版本。

步驟 2: 添加數據源

登錄 CloudCanal 控制臺,點擊 數據源管理 > 新增數據源
在這里插入圖片描述

步驟 3: 創建任務

  1. 點擊 同步任務 > 創建任務

  2. 配置源和目標數據源。

  3. 選擇 數據同步 并勾選 全量初始化

    先取消勾選 自動啟動任務,后續仍需要修改個別參數。
    在這里插入圖片描述

  4. 選擇需要同步的表。

  5. 選擇表對應的列。

    如果是超級表增量同步,可以點擊 操作 > 子表訂閱過濾條件,設置子表訂閱過濾條件,具體可參考 TDengine Query Topic,默認訂閱所有子表。

    如果需要進行納秒級時間戳同步,需在對端手動創建表,源端 Timestamp 列要映射到對端 BIGINT 類型列。

  6. 點擊 確認創建

    任務創建過程將會進行一系列操作,點擊 同步設置 > 異步任務,找到任務的創建記錄并點擊 詳情 即可查看。

    TDengine 源端的任務創建會有以下幾個步驟:

    • 分配任務執行機器
    • 創建任務狀態機
    • 完成任務創建
  7. 進入任務詳情頁,點擊右上角 功能列表 > 修改任務參數,修改以下任務參數:

    • 源端參數 srcTimezone:源端時區,默認 UTC,需要與源端時區保持一致。
    • 源端參數 supportTimestampToEpochNano:是否開啟 Timestamp-Number 數值轉換,默認 false。
    • 對端參數 dstTimezone:對端時區,需要與對端時區保持一致。
      在這里插入圖片描述
  8. 啟動任務,CloudCanal 會自動進行任務流轉,其中的步驟包括:

    • 全量數據遷移: 已存在的存量數據將會完整遷移到對端。
    • 增量數據同步: 增量數據將會持續地同步到對端數據庫,并且保持實時(秒級別延遲)。
      在這里插入圖片描述

總結

TDengine 適用于高吞吐的時序數據存儲與查詢,而 MySQL 適用于事務處理和復雜查詢。使用 CloudCanal 進行 TDengine 到 MySQL 數據遷移同步,能夠兼顧時序數據的高效存儲與業務數據的靈活分析,從而實現時序數據價值的最大化。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72265.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72265.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于YOLO11深度學習的舌苔舌象檢測識別與診斷系統【python源碼+Pyqt5界面+數據集+訓練代碼】

《------往期經典推薦------》 一、AI應用軟件開發實戰專欄【鏈接】 項目名稱項目名稱1.【人臉識別與管理系統開發】2.【車牌識別與自動收費管理系統開發】3.【手勢識別系統開發】4.【人臉面部活體檢測系統開發】5.【圖片風格快速遷移軟件開發】6.【人臉表表情識別系統】7.【…

【愚公系列】《高效使用DeepSeek》003-DeepSeek文檔處理和其他頂級 AI模型的區別

標題詳情作者簡介愚公搬代碼頭銜華為云特約編輯,華為云云享專家,華為開發者專家,華為產品云測專家,CSDN博客專家,CSDN商業化專家,阿里云專家博主,阿里云簽約作者,騰訊云優秀博主,騰訊云內容共創官,掘金優秀博主,亞馬遜技領云博主,51CTO博客專家等。近期榮譽2022年度…

正新雞排:在變革浪潮中領航,打造連鎖餐飲新生態

在當下風云變幻的餐飲市場中,連鎖品牌猶如逆水行舟,不進則退。作為國內坐擁萬店的知名連鎖餐飲品牌,正新雞排2023年賣出了7.2億片雞排,集團營收同比增長28%。在《2024年中國雞排連鎖品牌10強榜單》中,正新雞排以高達95…

MyBatis 的一級、二級緩存

文章目錄 1?? 一級緩存(Local Cache)📌 定義🚀 示例代碼 2?? 二級緩存(Global Cache)📌 定義🚀 使用方式 3?? 一級緩存 vs. 二級緩存 📊4?? 數據共享問題&#x…

軟件性能測試與功能測試聯系和區別

隨著軟件開發技術的迅猛發展,軟件性能測試和功能測試成為了確保軟件質量的兩個重要環節。那么只有一字之差的性能測試和功能測試分別是什么?又有哪些聯系和區別呢? 一、軟件性能測試是什么?   軟件性能測試是為了評估軟件系統在特定條件下的表現,包…

Vue 框架使用難點與易錯點剖析:避開陷阱,提升開發效率

Vue.js 作為當下最流行的前端框架之一,以其輕量、易用和靈活的特性深受開發者喜愛。然而,即使是經驗豐富的開發者,在使用 Vue 的過程中也難免會遇到一些難點和易錯點。本文將深入分析 Vue 開發中常見的“坑”,并提供解決方案和代碼…

基于大模型的上瞼下垂手術全流程預測與方案優化研究報告

目錄 一、引言 1.1 研究背景與目的 1.2 研究意義 1.3 研究方法與創新點 二、上瞼下垂相關理論基礎 2.1 上瞼下垂的定義與分類 2.2 發病機制與影響 2.3 傳統治療方法概述 三、大模型技術原理與應用 3.1 大模型概述 3.2 在醫療領域的應用現狀 3.3 用于上瞼下垂預測的…

Odoo Http鑒權+調用后端接口

最近在調研Odoo18,包括它的前后端原理、源碼等。發現官方的開發文檔并不十分實用,比如標題這種簡單的實用需求,竟然浪費了一點時間,特此記錄。 官方文檔:External API — Odoo 18.0 documentation 前提:首…

【Go每日一練】實現簡單的控制臺計算器

👻創作者:丶重明 👻創作時間:2025年3月7日 👻擅長領域:運維 目錄 1.😶?🌫?題目:簡單的控制臺計算器2.😶?🌫?代碼輸出3.😶?&#…

Linux常見問題與分析

操作系統進行線程切換時進行的動作 1. 保存當前線程的上下文 寄存器狀態:保存 CPU 寄存器(如通用寄存器、程序計數器 PC、棧指針 SP 等)到當前線程的 線程控制塊(TCB) 中。內核棧信息:如果線程在內核態運…

HTML塊級元素和內聯元素(簡單易懂)

在HTML中,元素可以分為塊級元素(Block-level elements)和內聯元素(Inline elements)。這兩類元素在頁面布局和樣式應用上有不同的特點和用途。 一、塊級元素(Block-level elements) 1. 定義 …

VSTO(C#)Excel開發6:與窗體交互

初級代碼游戲的專欄介紹與文章目錄-CSDN博客 我的github:codetoys,所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。 這些代碼大部分以Linux為目標但部分代碼是純C的,可以在任何平臺上使用。 源碼指引:github源…

Node.js與VUE安裝

目錄 Win下載安裝 Mac下載安裝 Win與Mac配置檢查是否安裝成功切換淘寶NPM庫檢查鏡像配置是否生效設置 npm 全局環境目錄(避免權限問題)WinMac VUE CLI安裝安裝驗證打開vue面板 Vue腳手架npm init vuelatest、npm create vuelatestvue create、vue ui Win…

快速集成1688商品API:10分鐘實現跨境選品數據自動化

要快速集成 1688 商品 API 以實現跨境選品數據自動化,可參考以下步驟: 注冊并申請 API 權限:注冊賬號創建應用并申請所需的 API 權限,如商品搜索、篩選、獲取詳情等相關權限。獲取 API Key 和 Secret:在應用管理頁面獲…

解決 MySQL 遷移到達夢報錯 “無效的列名” 的問題

在數據庫遷移的過程中,常常會遇到各種各樣的問題。本文將聚焦于從源庫 MySQL(大小寫不敏感)遷移到目標庫達夢(大小寫敏感)時,出現的創建索引報錯 “無效的列名” 這一問題,使用SQLark工具如何避…

工程化與框架系列(31)--前端依賴管理實踐

前端依賴管理實踐 📦 引言 前端依賴管理是現代Web開發中的重要環節。本文將深入探討前端依賴管理的最佳實踐,包括包管理工具、版本控制、依賴分析和優化等方面,幫助開發者更好地管理項目依賴。 依賴管理概述 前端依賴管理主要包括以下方面…

C/C++都有哪些開源的Web框架?

CppCMS CppCMS是一個采用C語言開發的高性能Web框架,通過模版元編程方式實現了在編譯期檢查RESTful路由系統,支持傳統的MVC模式和多種語言混合開發模式。 CppCMS最厲害的功能是WebSocket,10萬連接在內存中長期保存占用的大小不超過600MB&…

數據結構——環形數組

環形數組 start 指向第一個有效元素的索引,end 指向最后一個有效元素的下一個位置索引。 注意: start是閉區間,先左移后賦值,先賦值(null)后右移;end是開區間,先賦值再右移,先左移再賦值(null…

大數據學習(59)-DataX執行機制

&&大數據學習&& 🔥系列專欄: 👑哲學語錄: 承認自己的無知,乃是開啟智慧的大門 💖如果覺得博主的文章還不錯的話,請點贊👍收藏??留言📝支持一下博主哦&#x1f91…

云原生性能測試全解析:如何構建高效穩定的現代應用?

一、引言 隨著云計算技術的快速發展,云原生(Cloud Native)架構成為現代應用開發的主流模式。云原生應用通常采用微服務架構、容器化部署,并利用 Kubernetes(K8s)等編排工具進行管理。然而,云原…