《基于 Flink CDC 和 OceanBase 的云上实时数仓探索_伍翀.pdf》由会员分享,可在线阅读,更多相关《基于 Flink CDC 和 OceanBase 的云上实时数仓探索_伍翀.pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、伍翀(云邪)阿里云 Flink SQL 负责人基于基于 FlinkFlink CDC CDC 和和 OceanBaseOceanBase的实时数仓探索的实时数仓探索Contents01Flink CDC 介绍02Flink CDC 核心技术03Flink CDC x OceanBase 构建实时数仓04未来规划目 录01Flink CDC 介绍Event-drivenApplicationsApache Flink 流批一体的流式计算引擎StreamingPilpelinesStream&BatchAnalyticsResources|Storage(K8s,Yarn,Mesos,)|(HDF
2、S,S3,NFS,)ApplicationEvent LogDatabase,File System,KV-Store(Real-time)EventsDatabase,File System,KV-StoreTransactionsLogsIOTClicksFlink CDC 介绍Change Data Capture(CDC)是一种用于捕获数据库中数据变更的技术Flink CDC整库同步表结构变更同步分库分表合并Streaming ETL全增量一体化元数据千表入仓无锁读取断点续传并发读取TiDBPolarDBRDS MySQLHudiIcebergTiDBHologresStarRocks
3、传统数据入仓架构 1.0DataX/Sqoop全量同步影响业务稳定性天级别产出性能瓶颈明显传统数据入仓架构 2.0DataX/Sqoop全量同步Canal增量同步定时合并(小时/天)不影响业务稳定性小时级别产出全量+增量割裂链路长,组件多Flink CDC 实时入仓架构全增量实时同步Flink CDC不影响业务稳定性秒级更新全量+增量一体化链路短,组件少传统 ETL 数据分析链路DebeziumClickHouseIcebergHudiOceanBase采集(E)计算(T)传输(L)传统 ETL 数据分析链路DebeziumClickHouseIcebergHudiOceanBase中间件集群
4、?消息队列?数据一致性?基于 Flink CDC 的 ETL 数据分析链路ClickHouseIcebergHudiOceanBase采集+计算+传输(ETL)Flink CDC02Flink CDC 核心技术 无锁算法:业务无影响,仍保证一致性 并行读取:大幅提升海量数据入仓效率 断点续传:有效提升同步稳定性全局锁单并发失败重做无锁算法并发读取断点续传K1K2K3K4K5K7K8K4K6resume binlogFrom pos1Output Stream:无锁一致性读取K1K7K8K2K5K4K6BinlogK1K3K3K4K5ChunkWindowopen=pos0Windowopen=
5、pos1mergeTask1Task2Task3chunk1chunk2chunk3chunk1chunk2chunk3chunk1chunk2chunk3chunk1chunk2chunk3chunk1chunk2chunk3Task1Task2Task3全量阶段增量阶段全增量自动切换并行读取无锁一致性切换核心技术 全增量一体化读取核心技术 动态表(Dynamic Table)动态表(Dynamic Table):数据会随着时间变化的表StreamuserclicksMary1Bob1Mary2Llz1Bob23MaryDynamic TableuserclicksMary3Bob2Mary
6、1ApplyChangelog流与动态表的对偶性核心技术 连续查询(Continuous Query)连续查询(Continuous Query):持续运行的查询StreamStream连续查询连续查询StreamStream连续查询Stream核心技术 Changelog MechanismSourcewordHelloWorldWord CountWord countwordcntHello1World1Hello,1World,1cntfreq1Count Frequencywithout changelogSELECT word,COUNT(*)as cntFROM wordsGROU