ChunJun&OceanBase聯合方案首次發佈:構建一體化數據集成方案

来源:https://www.cnblogs.com/DTinsight/archive/2022/09/16/16699320.html
-Advertisement-
Play Games

8月27日,ChunJun社區與OceanBase社區聯合組織的開源線下Meetup成功舉辦,會上重磅發佈了「OceanBase&ChunJun:構建一體化數據集成方案」。 這是OceanBase&ChunJun聯合解決方案的首次發佈,將針對分庫分表的實時數據集成、跨集群/租戶的數據集成、不同數據源 ...


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 實時計算引擎實現批流一體的數據讀取和寫入。

file

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等數據集成框架。

file
OceanBase 社區版 CDC 組件架構

ChunJun Connectors 的工作模式

ChunJun中的讀取和寫入主要是通過Connector中的一些結構和模塊來實現的,包含RDB、CDC 、NoSQL、MQ、File 等。

• RDB Connectors:基於 JDBC Connector,通過輪詢支持了源表包含自增列且增量數據只有 insert 操作時的全增量一體化讀取及寫入。

• CDC Connectors:基於資料庫的Binlog 或 Redolog,實現增量數據的讀取。

file

ChunJun上的這些數據最終會在Flink進行處理,在Flink當中通過定義動態表的結構,可以將流數據在執行SQL前先轉換為可以操作的表,然後通過連續查詢來獲取一個不斷更新的執行結果。

下圖就是數據從數據流轉成動態表,在流數據上定義一張標,通過執行連續查詢來獲取不斷更新的結果。

file

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。

file

ChunJun & OceanBase 應用

場景1:針對分庫分表的實時數據集成

使用 Oceanbase CDC Connector,庫表名利用Fnmatch通配,實現分庫分表數據源的實時數據集成。這個場景可以做增量同步,也可以做單數據流的ETL操作。

file

場景2:跨集群/租戶的數據集成

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

file

場景3:不同數據源的實時數據集成

可以對不同種類數據源進行數據匯聚,使用不同類型資料庫的 connector,讀取不同數據源的數據到 Flink。

file

場景4:日誌類型數據的全增量一體化處理

對於只有 insert 增量變動的數據源,基於自增列進行全增量一體化的處理。

file

ChunJun&OceanBase未來展望

● 提高代碼質量

· 增加測試 case,覆蓋所有的啟動方式和常見的業務場景

· 完全適配 MySQL 5.1.4x 和 8.0 驅動

● 20+種豐富的任務類型

· 增加非 transformer 模式 sync 任務的支持

· 增加 OceanBase 企業版 Oracle 模式的支持

● 提高方案可靠性

· 增加數據讀取的事務性支持

· 簡化 oblogproxy 的部署,支持 Docker 部署

· 增加詳細的使用文檔

袋鼠雲開源框架釘釘技術交流qun(30537511),歡迎對大數據開源項目有興趣的同學加入交流最新技術信息,開源項目庫地址:https://github.com/DTStack/Taier


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天我們來介紹一下 Bootstrap Blazor 中 Table 組件的虛擬滾動行,什麼是虛擬滾動呢,我查到的解釋是:只渲染可視區域的列表項,非可見區域的 完全不渲染,在滾動條滾動時動態更新列表項。 然後很明顯,在實際應用中不可能實現“非可見區域的 完全不渲染”,這樣的體驗效果太差了,下拉直接空 ...
  • 在VMware虛擬機下centOS7下配置橋接網路 首先,在以下的配置都操作好之後,要確認宿主機的網路連接方式, 若為需要認證的網路,則可能會出現宿主機與虛擬機能互相ping,但虛擬機不能ping外網的情況 一、虛擬機配置 確保虛擬機為關機的狀態,在VMware中編輯一欄打開虛擬網路編輯器,點擊更改 ...
  • 數據結構概述: 程式 = 數據結構 + 演算法 演算法:一些計算方法,解決問題的流程/步驟(順序、分支、迴圈......),通俗的說,演算法相當於邏輯,小部分已經被人們發掘出來了(這裡的小部分指的是書本上講的一些經典的解決一類問題的方法),解決問題的一種模式。 數據結構:將數據按照某一種特定的結構(方法) ...
  • Set A Light 3D Studio for Mac是一款可以幫助攝影工作者對3D室內攝影進行燈光位置調整的軟體,你可以清楚的瞭解到不同位置的燈光怎麼佈局。Set A Light 3D Studio Mac模擬影樓的效果,使用它可以預先在PC或Mac上搭建的照明設置,逼真地模擬預期的畫面效果和 ...
  • sed用法 基礎sed命令 sed命令的基本語法 sed OPTIONS… [SCRIPT] [INPUTFILE…] 常用的選項: -n,–quiet: 不輸出模式空間中的內容 -i: 直接編輯原文件,預設不對原文件進行操作 -e: 可以使用多個命令(腳本)進行操作 -f /path/from/s ...
  • 超級熱鍵可通過簡單編程 —— 自動化完成複雜操作,提升效率。 ▶ 快速上手 本教程需要一個很小的開源軟體 ImTip ( 體積 639 KB ), 請右鍵點開 ImTip 托盤菜單,然後點擊「管理超級熱鍵」: 然後將熱鍵配置改為如下代碼,並且勾選「啟用超級熱鍵」,再點擊「保存」按鈕使熱鍵生效。 // ...
  • Linux的哲學思想 優勢 一切都是一個文件。(包括硬體,文本,二進位,源代 碼) 系統中擁有小型,單一用途的程式。(一個程式只負責 做好自己的本職工作) 當遇到複雜任務,通過不同功能用途的程式組合起來 完成。 輕量級,一臺服務 dhcp ip 資料庫服務 網 頁 避免令人困惑的用戶界面就是沒有複雜 ...
  • 摘要:如果你的數據量很大,想儘快完成任務執行,可否有其他方案?那一定不要錯過GaussDB(DWS)的MERGE INTO功能。 本文分享自華為雲社區《一招教你如何高效批量導入與更新數據》,作者: acydy。 當前GaussDB(DWS)提供了MERGE INTO功能。本篇文章介紹MERGE IN ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...