8 月 27 日,ChunJun 社区与 OceanBase 社区联结组织的开源线下 Meetup 胜利举办,会上重磅公布了「OceanBase&ChunJun:构建一体化数据集成计划」。
这是 OceanBase&ChunJun 联结解决方案的首次公布,将针对分库分表的实时数据集成、跨集群 / 租户的数据集成、不同数据源的实时数据集成、日志类型数据的全增量一体化解决等诸多场景,提供高牢靠数据集成解决方案。
上面为大家带来具体介绍,欢送分享给更多的开发者和爱好者独特学习、探讨。
课件获取:
关注公众号“ChunJun”,后盾私信“Meetup”取得分享课件
视频回看:
https://www.bilibili.com/vide…
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