簡述
SAP HANA 是由 SAP 開發(fā)的一款內(nèi)存列式數(shù)據(jù)庫, 具有預(yù)測分析如绸、空間數(shù)據(jù)處理嘱朽、文本分析、文本搜索怔接、流分析搪泳、圖形數(shù)據(jù)處理等高級分析功能。
HANA 內(nèi)存列式數(shù)據(jù)庫特性蜕提,即啟動后可以把所有數(shù)據(jù)載入內(nèi)存森书,相比傳統(tǒng)基于硬盤的數(shù)據(jù)庫,性能提升10~10,000倍谎势。
HANA 一般內(nèi)置在 SAP ERP 系統(tǒng)中提供服務(wù)凛膏,在制造業(yè)應(yīng)用廣泛。
現(xiàn)如今企業(yè)嘗試建立統(tǒng)一數(shù)據(jù)分析平臺脏榆,SAP HANA 保存了ERP相關(guān)數(shù)據(jù)猖毫,如何實時同步 HANA 數(shù)據(jù)到數(shù)據(jù)平臺成為困擾企業(yè)的一個難題。
CloudCanal 最新版本已支持 HANA 作為源端遷移同步數(shù)據(jù)到 StarRocks 來構(gòu)建實時數(shù)倉, 本文簡要介紹使用 CloudCanal 快速構(gòu)建一個 HANA 到 StarRocks 數(shù)據(jù)遷移同步任務(wù)须喂。
技術(shù)要點
數(shù)據(jù)同步整體流程
CloudCanal 實現(xiàn) HANA 增量數(shù)據(jù)同步主要使用其觸發(fā)器捕獲變更事件吁断,整體流程如下:
- 安裝觸發(fā)器,通過觸發(fā)器捕獲增量變更數(shù)據(jù)
- 記錄位點坞生,記錄增量數(shù)據(jù)數(shù)據(jù)同步的起點
- 執(zhí)行全量數(shù)據(jù)遷移
- 執(zhí)行增量數(shù)據(jù)同步
數(shù)據(jù)捕獲觸發(fā)器
觸發(fā)器是一種自動觸發(fā)執(zhí)行的存儲過程仔役,它可以在數(shù)據(jù)變更前執(zhí)行也可以在數(shù)據(jù)變更后執(zhí)行,因為本質(zhì)也是存儲過程是己,所以存儲過程支持的操作觸發(fā)器均支持又兵。
不同數(shù)據(jù)庫對觸發(fā)器的支持程度不同,HANA 的觸發(fā)器支持監(jiān)聽 I(新增)/U(更新)/D(刪除) 三種事件卒废,因此數(shù)據(jù)的所有變更都可以通過觸發(fā)器捕獲沛厨。
安裝觸發(fā)器的方式與創(chuàng)建存儲過程類似,即通過執(zhí)行 SQL 創(chuàng)建觸發(fā)器摔认。
通過觸發(fā)器實現(xiàn)增量數(shù)據(jù)同步逆皮,需要觸發(fā)器捕獲數(shù)據(jù)的I/U/D變更事件并寫入增量 CDC 數(shù)據(jù)表,數(shù)據(jù)的變更事件最終都會寫到增量 CDC 數(shù)據(jù)表,執(zhí)行流程如下:
其他 HANA 同步方案
目前支持同步 HANA 數(shù)據(jù)的產(chǎn)品還有 Informatica参袱、Qlik 等电谣,實現(xiàn)方案也是通過觸發(fā)器秽梅。
因為 HANA 的觸發(fā)器不能監(jiān)聽 DDL 變更,因此 CloudCanal 與 Informatica辰企、Qlik 一樣风纠,都不支持DDL同步。
操作示例
準(zhǔn)備動作
- 下載安裝 CloudCanal 私有部署版本,使用參見快速上手文檔
- 準(zhǔn)備好源端和目標(biāo)端數(shù)據(jù)庫及對應(yīng)數(shù)據(jù)
- 參考 HANA 權(quán)限準(zhǔn)備 做賬號授權(quán)
添加數(shù)據(jù)源
-
登錄 CloudCanal ,數(shù)據(jù)源管理->添加數(shù)據(jù)源
-
創(chuàng)建源端數(shù)據(jù)源, 選擇自建數(shù)據(jù)源牢贸,選擇 HANA 并填寫相關(guān)信息
默認(rèn)數(shù)據(jù)庫: 即需要同步的數(shù)據(jù)所在數(shù)據(jù)庫竹观,常見默認(rèn)數(shù)據(jù)庫:SYSTEMDB、HXE潜索、DB0
-
創(chuàng)建目標(biāo)端數(shù)據(jù)源臭增,選擇自建數(shù)據(jù)源,選擇StarRocks竹习,并填寫相關(guān)信息
Client地址: CloudCanal 用其查詢庫表表的元數(shù)據(jù)信息誊抛,對應(yīng) StarRocks QueryPort,默認(rèn)端口為 9030
額外參數(shù) Http地址: StarRocks 接收 streamload 的 http 請求整陌,此處可填寫 BE 節(jié)點地址拗窃,默認(rèn)端口為 8040 , 如需負(fù)載均衡也可直接填寫 FE節(jié)點 地址和端口,F(xiàn)E節(jié)點默認(rèn)端口 8030
-
數(shù)據(jù)源創(chuàng)建成功
任務(wù)創(chuàng)建
-
任務(wù)管理 > 創(chuàng)建任務(wù)
源端選擇 HANA 數(shù)據(jù)源泌辫,目標(biāo)端選擇 StarRocks 數(shù)據(jù)源随夸,分別點擊測試連接按鈕并設(shè)置數(shù)據(jù)庫映射關(guān)系
-
點擊下一步
選擇 增量同步,并且勾選 全量初始化
-
點擊下一步
選擇訂閱的表
-
點擊下一步
配置列映射
-
點擊下一步
-
點擊創(chuàng)建任務(wù)
-
任務(wù)創(chuàng)建成功并啟動后震放,會自動執(zhí)行結(jié)構(gòu)遷移宾毒、全量遷移、增量同步
總結(jié)
本文簡單介紹了如何使用 CloudCanal 進(jìn)行 HANA 到 StarRocks 數(shù)據(jù)遷移同步殿遂。
StarRocks 作為新興的實時數(shù)倉產(chǎn)品诈铛,為傳統(tǒng)數(shù)據(jù)業(yè)務(wù)帶去更加實時、一致的體驗墨礁,讓數(shù)據(jù)得到更加廣泛的使用幢竹,CloudCanal希望助一臂之力,讓數(shù)據(jù)流動更加平滑順暢恩静。