乐趣区

关于大数据:ChunJunOceanBase联合方案首次发布构建一体化数据集成方案

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

退出移动版