Tapdata 和 Databend 數倉資料同步實戰
作者:韓山傑
Databend Cloud 研發工程師
基礎架構在雲端計算時代也發生著翻天地覆的變化,對於業務的支援變成了如何能利用好雲資源實現降本增效,同時更好的支撐業務也成為新時代技術人員的挑戰。本篇文章通過:藉助 Tapdata Cloud 實現從阿里雲 RDS 到雲原生數倉 Databend 的資料同步,給大家展示一下 Tapdata Cloud 和 Databend Cloud 在數倉領域的實踐。
Tapdata Cloud 是由 Tapdata 提供的集資料複製、資料開發為一體的實時資料服務,能夠在跨雲、跨地域、多型別資料來源的場景下,提供毫秒級的實時資料同步服務和資料融合服務。
Databend 是基於 Rust 開發的一個開源、彈性、負載感知的現代雲數倉,賦能企業降本增效。在之前的文章中介紹了如何快速部署 Databend。Databend Cloud 是基於 Databend 實現的雲上大資料解決方案。
1.體驗 Tapdata 到 Databend Cloud 資料遷移
部署架構如下
-
資料來源上部署 Tapdata Agent
-
Tapdata Agent 從 Tapdata Cloud 上獲取任務執行
-
apdata Agent 獲取的資料寫入 Databend Cloud
具體操作如下:
1.1.部署 Tapdate Agent
Tapdata Agent 是資料同步、資料異構、資料開發場景中的關鍵程式。以上場景對資料的流轉有著極高的實時性要求,因此,通過下載 Tapdata Agent 並將其部署在你的本地環境,基於低延遲的本地網路,Tapdata Agent 能夠發揮最佳效能以確保資料流轉的實時性。
可以參考 Agent 下載及安裝 [4]。
1.2 資料同步 (From MySQL to Databend )
這裡假設使用者已經建立阿里雲 MySQL RDS 並在 RDS 中儲存了一定量的資料,準備把資料同步到 Databend。
1.2.1 建立 MySQL 連線
在 Tapdata Cloud 中建立 MySQL 連線
填寫相應的連線引數,連線測試通過後儲存。
1.2.2 建立 Databend 連線
在 Beta 資料來源中選擇 Databend 連線並填寫相關連線引數,測試通過後儲存。
1.2.3 建立資料複製任務
將 MySQL RDS 資料來源和 Databend 資料來源拖到畫布中連線起來,表示準備從 MySQL 同步資料到 Databend。同步模式選擇為 `全量同步`(增量同步的模式正在開發中),啟動任務。
開始從 MySQL 同步資料到 Databend,下面展示了同步過程中的資訊和資料。
1.2.4 檢視結果
首先看一下 MySQL 中的表:
同時我們也可以在 Databend 中查詢出已經同步過來的表和資料:
1.3 小結
上面的例子是通過 Tapdata Cloud 跑通一個 MySQL 表以及資料同步到 Databend 。Tapdata 非常強大,能夠支援多種異構資料來源之間的同步,大家可以到 Tapdata Cloud 上繼續探索。
2. Databend 生態介紹
Databend: 是新一代基於物件儲存的彈性雲數倉產品。地址:https://github.com/datafuselabs/databend
OpenDAL: 是 Databend 中負責和底層儲存打交道的一個元件,目前被 Rust 多資料庫產品及 Rust sccache 中大量使用,估計不遠的將來會成為一個多雲物件儲存支援最好的產品。地址:https://github.com/datafuselabs/opendal
Openraft: 是 Databend 中負責 Databend Meta 中的叢集元件,目前被 SAP 及 許多交易所使用。地址:https://github.com/datafuselabs/openraft
Databend k8s operator: Databend 開源了 helm 基於 k8s 部署的 operator。地址:https://github.com/datafuselabs/helm-charts
文件網站: https://databend.rs/
Databend Cloud: Databend Cloud 是基於 Databend 實現的雲 SAAS 的數倉專案,希望把底層的運維及生態全部封狀好,對使用者提供一站式 SAAS 數倉服務。
目前 Databend Cloud 分為:海外和國內兩個版本。
海外版本主要部署在 AWS上,地址:https://databend.com,
國內版本主要部署在阿里雲和國內 AWS 上:https://databend.cn , 使用 Databend Cloud 的優勢:
-
基於 Databend 提供雲上一站式數倉服務,有相應的安全和降本最佳實踐
-
基於 Databend 儲存使用 Parquet 格式,同時支援update, delete, alter table 操作,簡化資料維護和 ETL 過程
-
基於 Databend Cloud 可以打造內部的資料集市
3.使用 Databend 的場景及優勢
目前適用場景:
-
海量日誌儲存及分析
-
部分 ES 場景
-
訂單及商品銷售情況分析
-
資料審計場景
使用 Databend 的優勢:
-
基於 Rust + 物件儲存 及 k8s 架構,真正實現了存算分離
-
基於物件儲存成本及 Databend 的壓縮技術,使儲存有 10 倍左右的優化,同時也可以讓儲存實現按需付費
-
計算節點無狀態,可以讓計算實現按需擴縮容
關於 Databend
Databend 是一款開源、彈性、低成本,基於物件儲存也可以做實時分析的新式數倉。期待您的關注,一起探索雲原生數倉解決方案,打造新一代開源 Data Cloud。
-
Databend 文件:https://databend.rs/
-
Wechat:Databend
- 官宣:OpenDAL 成功進入 Apache 孵化器
- Databend query result cache 設計與實現
- 在 KubeSphere 中開啟新一代雲原生數倉 Databend
- Tapdata 和 Databend 數倉資料同步實戰
- 給 Databend 新增 Aggregate 函式 | 函式開發系例二
- 給 Databend 新增 Scalar 函式 | 函式開發系例一
- 利用 Addax 異構遷移資料到 Databend
- 為什麼你該試試 Sccache?
- 圖解一致性模型
- Tokio 中 hang 死所有 worker 的方法
- Sqlite 併發讀寫的演進之路
- Databend 原始碼閱讀系列(二):Query server 啟動,Session 管理及請求處理
- 使用 Databend 助力 MySQL 的資料分析
- 如何貢獻複雜的專案
- 將 Paxos 和 Raft 統一為一個協議: Abstract-paxos
- 一個 C 系程式設計師的 Rust 初體驗
- Databend 內建標量函式開發指南
- Rust, Databend and the Cloud Warehouse(4)Databend 社群如何做測試
- Rust, Databend and the Cloud Warehouse(3)Datafuse 更名為 Databend