8月27日,ChunJun社區與OceanBase社區聯合組織的開源線下Meetup成功舉辦,會上重磅發布了「OceanBase&ChunJun:構建一體化資料集成方案」,
這是OceanBase&ChunJun聯合解決方案的首次發布,將針對分庫分表的實時資料集成、跨集群/租戶的資料集成、不同資料源的實時資料集成、日志型別資料的全增量一體化處理等諸多場景,提供高可靠資料集成解決方案,
下面為大家帶來具體介紹,歡迎分享給更多的開發者和愛好者共同學習、探討,
課件獲取:
關注公眾號“ChunJun”,后臺私信“Meetup”獲得分享課件
視頻回看:
https://www.bilibili.com/video/BV1mG41137ZV?spm_id_from=333.999.0.0
ChunJun&OceanBase是什么
ChunJun:一款穩定、高效、易用的資料集成框架
ChunJun 是一款高效、穩定、易用的資料集成框架,目前基于Apache Flink 實時計算引擎實作批流一體的資料讀取和寫入,

ChunJun的核心能力
? 多資料源:目前已支持30+資料源,涵蓋了各類資料庫、檔案系統等
?靈活的任務運行模式:支持開箱即用的local模式運行,也支持flink standalone、yarn、k8s等模式;支持Taier、DolphinScheduler、Dlinky等大資料調度平臺
? 資料還原:支持 DML 和 DDL 同步,可以最大程度保證源端和目標端的資料和結構統一
? 斷點續傳:依托Flink的Checkpoint機制,可以從失敗的位點重試
? 速率控制:支持多種分片方式,用戶可根據自身業務調整分片邏輯;支持調整讀取和寫入的并發度,控制每秒讀取的資料量
? 臟資料管理:支持多種方式存盤臟資料,控制臟資料生命周期,并提供統計資料
OceanBase:企業級開源分布式 HTAP資料庫
企業級開源分布式 HTAP(Hybrid Transaction/Analytical Processing)資料庫,具有原生分布式架構,支持金融級高可用、透明水平擴展、分布式事務、多租戶和語法兼容等企業級特性,
OceanBase的核心能力
? 高可用:基于 Paxos 協議,強一致性;少數副本故障,資料不丟,服務不停;RPO=0; RTO<30s
?高擴展:在線進行水平擴、縮容;自動實作負載均衡
? 低成本:不依賴高端硬體,降低成本;極致的壓縮比,節省成本
? HTAP:一套計算引擎同時支持混合負載;一套資料庫,讀寫分離
? 高兼容:兼容 MySQL 協議與語法;降低業務改造遷移成本
? 多租戶:一套環境獨立運行多套業務;保證租戶資料安全
ChunJun OceanBase Connector 實作
OceanBase CDC
OceanBase作為分布式資料庫,日志資訊分布在集群當中不同的機器上,需要有一個工具把這些日志資訊進行匯總,拿到正確、完整的日志資訊,
OceanBase社區版利用CDC 組件架構進行這項作業,它主要是通過oblogproxy來提供日志拉取的服務,如果想集成OceanBase增量資料的處理,可以在自己的業務應用中去集成oblogclient來進行處理,目前已對接了ChunJun、Flink CDC、Cloud Canal等資料集成框架,

OceanBase 社區版 CDC 組件架構
ChunJun Connectors 的作業模式
ChunJun中的讀取和寫入主要是通過Connector中的一些結構和模塊來實作的,包含RDB、CDC 、NoSQL、MQ、File 等,
? RDB Connectors:基于 JDBC Connector,通過輪詢支持了源表包含自增列且增量資料只有 insert 操作時的全增量一體化讀取及寫入,
? CDC Connectors:基于資料庫的Binlog 或 Redolog,實作增量資料的讀取,

Flink 流資料與動態表
ChunJun上的這些資料最侄訓在Flink進行處理,在Flink當中通過定義動態表的結構,可以將流資料在執行SQL前先轉換為可以操作的表,然后通過連續查詢來獲取一個不斷更新的執行結果,
下圖就是資料從資料流轉成動態表,在流資料上定義一張標,通過執行連續查詢來獲取不斷更新的結果,

ChunJun OceanBase Connector 的實作
在ChunJun中主要是通過Chunjun Core模塊來滿足將資料讀取到Flink及從Flink中寫出去,其中DynamicTableSourceFactory及DynamicTableSinkFactory支持SQL型別的任務,SourceFactory及SinkFactory用來支持Json型別的任務,
如下圖所示,ChunJun OceanBase Connector 的實作主要通過兩種方式:一種是從Chunjun Core到JDBC Connector再到OceanBase Connector;另外一種是從Chunjun Core直接到OceanBase CDC Connector,

ChunJun & OceanBase 應用
場景1:針對分庫分表的實時資料集成
使用 Oceanbase CDC Connector,庫表名利用Fnmatch通配,實作分庫分表資料源的實時資料集成,這個場景可以做增量同步,也可以做單資料流的ETL操作,

場景2:跨集群/租戶的資料集成
目前,不同租戶的資料在一個連接當中獲取不到,如果想對OB當中不同租戶的資料做一個統一處理,需通過多個資料庫的連接來實作分別讀取,這時可以利用ChunJun中與OceanBase相關的connector,讀取不同集群、租戶資料到 Flink,

場景3:不同資料源的實時資料集成
可以對不同種類資料源進行資料匯聚,使用不同型別資料庫的 connector,讀取不同資料源的資料到 Flink,

場景4:日志型別資料的全增量一體化處理
對于只有 insert 增量變動的資料源,基于自增列進行全增量一體化的處理,

ChunJun&OceanBase未來展望
● 提高代碼質量
· 增加測驗 case,覆寫所有的啟動方式和常見的業務場景
· 完全適配 MySQL 5.1.4x 和 8.0 驅動
● 20+種豐富的任務型別
· 增加非 transformer 模式 sync 任務的支持
· 增加 OceanBase 企業版 Oracle 模式的支持
● 提高方案可靠性
· 增加資料讀取的事務性支持
· 簡化 oblogproxy 的部署,支持 Docker 部署
· 增加詳細的使用檔案
袋鼠云開源框架釘釘技術交流qun(30537511),歡迎對大資料開源專案有興趣的同學加入交流最新技術資訊,開源專案庫地址:https://github.com/DTStack/Taier
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/508897.html
標籤:大數據
上一篇:更新D3v7和弦布局
下一篇:資料庫發展史2--資料倉庫
