Tapdata 和 Databend 數(shù)倉數(shù)據(jù)同步實戰(zhàn)
作者:韓山杰
https://github.com/hantmac
Databend Cloud 研發(fā)工程師
基礎(chǔ)架構(gòu)在云計算時代也發(fā)生著翻天地覆的變化,對于業(yè)務(wù)的支持變成了如何能利用好云資源實現(xiàn)降本增效,同時更好的支撐業(yè)務(wù)也成為新時代技術(shù)人員的挑戰(zhàn)。 本篇文章通過:借助 Tapdata Cloud 實現(xiàn)從阿里云 RDS 到云原生數(shù)倉 Databend 的數(shù)據(jù)同步,給大家展示一下 Tapdata Cloud 和 Databend cloud 在數(shù)倉領(lǐng)域的實踐。
Tapdata Cloud 是由 Tapdata 提供的集數(shù)據(jù)復(fù)制、數(shù)據(jù)開發(fā)為一體的實時數(shù)據(jù)服務(wù),能夠在跨云、跨地域、多類型數(shù)據(jù)源的場景下,提供毫秒級的實時數(shù)據(jù)同步服務(wù)和數(shù)據(jù)融合服務(wù)。
Databend 是基于 Rust 開發(fā)的一個開源、彈性、負(fù)載感知的現(xiàn)代云數(shù)倉,賦能企業(yè)降本增效。在之前的文章中介紹了如何快速部署 Databend。Databend Cloud 是基于 Databend 實現(xiàn)的云上大數(shù)據(jù)解決方案。
1. 體驗 Tapdata 到 Databend Cloud 數(shù)據(jù)遷移
部署架構(gòu)如下

數(shù)據(jù)源上部署 Tapdata Agent
Tapdata Agent 從 Tapdata Cloud 上獲取任務(wù)執(zhí)行
apdata Agent 獲取的數(shù)據(jù)寫入 Databend Cloud
具體操作如下:
1.1 部署 ?Tapdate Agent
Tapdata Agent 是數(shù)據(jù)同步、數(shù)據(jù)異構(gòu)、數(shù)據(jù)開發(fā)場景中的關(guān)鍵程序。以上場景對數(shù)據(jù)的流轉(zhuǎn)有著極高的實時性要求,因此,通過下載Tapdata Agent并將其部署在你的本地環(huán)境,基于低延遲的本地網(wǎng)絡(luò),Tapdata Agent能夠發(fā)揮最佳性能以確保數(shù)據(jù)流轉(zhuǎn)的實時性。
可以參考 Agent下載及安裝 。
1.2 數(shù)據(jù)同步 (From MySQL to Databend )
這里假設(shè)用戶已經(jīng)創(chuàng)建阿里云 MySQL RDS并在 RDS 中存儲了一定量的數(shù)據(jù),準(zhǔn)備把數(shù)據(jù)同步到 Databend。
1.2.1 創(chuàng)建 MySQL 連接
在 Tapdata Cloud 中創(chuàng)建 MySQL 連接,

填寫相應(yīng)的連接參數(shù),連接測試通過后保存。

1.2.2 創(chuàng)建 Databend 連接
在 Beta 數(shù)據(jù)源中選擇 Databend 連接并填寫相關(guān)連接參數(shù),測試通過后保存。

1.2.3 創(chuàng)建數(shù)據(jù)復(fù)制任務(wù)

將 MySQL RDS 數(shù)據(jù)源和 Databend 數(shù)據(jù)源拖到畫布中連接起來,表示準(zhǔn)備從 MySQL 同步數(shù)據(jù)到 Databend。同步模式選擇為 `全量同步`(增量同步的模式正在開發(fā)中),啟動任務(wù)。

開始從 MySQL 同步數(shù)據(jù)到 Databend,下面展示了同步過程中的信息和數(shù)據(jù)。

1.2.4 查看結(jié)果
首先看一下 MySQL 中的表:

同時我們也可以在 Databend 中查詢出已經(jīng)同步過來的表和數(shù)據(jù):

1.3 小結(jié)
上面的例子是通過 Tapdata Cloud 跑通一個 MySQL 表以及數(shù)據(jù)同步到 Databend 。Tapdata非常強大,能夠支持多種異構(gòu)數(shù)據(jù)源之間的同步,大家可以到 Tapdata Cloud 上繼續(xù)探索。
Databend 生態(tài)介紹
Databend: ?是新一代基于對象存儲的彈性云數(shù)倉產(chǎn)品。 地址: https://github.com/datafuselabs/databend
OpenDAL :是 Databend 中負(fù)責(zé)和底層存儲打交道的一個組件,目前被 Rust 多數(shù)據(jù)庫產(chǎn)品及 Rust sccache 中大量使用,估計不遠(yuǎn)的將來會成為一個多云對象存儲支持最好的產(chǎn)品。地址: https://github.com/datafuselabs/opendal
Openraft: 是 Databend 中負(fù)責(zé) Databend Meta 中的集群組件,目前被 SAP 及 許多交易所使用。地址: https://github.com/datafuselabs/openraft
Databend k8s operator : Databend 開源了 helm 基于 k8s 部署的 operator。 地址:https://github.com/datafuselabs/helm-charts
文檔網(wǎng)站: https://databend.rs/
Databend Cloud: Databend Cloud 是基于 Databend 實現(xiàn)的云 SAAS 的數(shù)倉項目,希望把底層的運維及生態(tài)全部封狀好,對用戶提供一站式 SAAS 數(shù)倉服務(wù)。目前 Databend Cloud 分為: 海外和國內(nèi)兩個版本。 海外版本主要部署在 AWS上,地址: https://databend.com, 國內(nèi)版本主要部署在阿里云和國內(nèi) AWS 上: https://databend.cn , 使用 Databend Cloud 的優(yōu)勢:
基于 Databend 提供云上一站式數(shù)倉服務(wù),有相應(yīng)的安全和降本最佳實踐
基于 Databend ?存儲使用 Parquet 格式,同時支持update, delete, alter table 操作,簡化數(shù)據(jù)維護和 ?ETL 過程
基于 Databend Cloud 可以打造內(nèi)部的數(shù)據(jù)集市
使用 Databend 的場景及優(yōu)勢
目前適用場景:
海量日志存儲及分析
部分 ES 場景
訂單及商品銷售情況分析
數(shù)據(jù)審計場景
使用 Databend 的優(yōu)勢:
基于 Rust + 對象存儲 及 k8s 架構(gòu),真正實現(xiàn)了存算分離
基于對象存儲成本及 Databend 的壓縮技術(shù),使存儲有 10 倍左右的優(yōu)化,同時也可以讓存儲實現(xiàn)按需付費
計算節(jié)點無狀態(tài),可以讓計算實現(xiàn)按需擴縮容
關(guān)于 Databend
Databend 是一款開源、彈性、低成本,基于對象存儲也可以做實時分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。
*? ?Databend 文檔:https://databend.rs/? ?
*? ?Twitter:https://twitter.com/Datafuse_Labs
*? ?Slack:https://datafusecloud.slack.com/
*? ?Wechat:Databend
*? ?GitHub :https://github.com/datafuselabs/databend