免费学习资源网站,网站维护得多久,东莞最新招聘信息,济南建网站多少钱分析回答
什么是 CDC
CDC,Change Data Capture,变更数据获取的简称#xff0c;使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游#xff0c;供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。用户可以在以下的场景下使用CDC#xff1a;
使用f…分析回答
什么是 CDC
CDC,Change Data Capture,变更数据获取的简称使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。用户可以在以下的场景下使用CDC
使用flink sql进行数据同步,可以将数据从一个数据同步到其他的地方比如mysql、elasticsearch等。可以在源数据库上实时的物化一个聚合视图因为只是增量同步所以可以实时的低延迟的同步数据使用EventTime join 一个temporal表以便可以获取准确的结果
Flink 1.11 将这些changelog提取并转化为Table API和SQL目前支持两种格式Debezium和Canal这就意味着源表不仅仅是append操作而且还有upsert、delete操作。 Flink CDC 功能适用的一些场景
数据库之间的增量数据同步审计日志数据库之上的实时物化视图基于CDC的维表join…
Flink CDC使用方式
目前Flink支持两种内置的connectorPostgreSQL和mysql接下来我们以mysql为例。 Flink 1.11仅支持Kafka作为现成的变更日志源和JSON编码的变更日志而AvroDebezium和ProtobufCanal计划在将来的版本中使用。还计划支持MySQL二进制日志和Kafka压缩主题作为源并将扩展日志支持扩展到批处理执行。
Flink CDC当作监听器获取增量变更 传统的实时链路如何实现业务数据的同步我们以canal为例传统业务数据实时同步会涉及到canal处理mysql的binlog然后同步到kafka在通过计算引擎sparkflink或storm计算转化,再结果数据传输到第三方存储hbasees如下图所示主要分为三个模块E(Extract) ,T(Transform), L(Load).可以看到涉及的组件很多链路很长。我们可以直接Flink CDC消费数据库的增量日志替代了原来作为数据采集层的canal然后直接进行计算经过计算之后将计算结果 发送到下游。整体架构如下 使用这种架构是好处有
减少canal和kafka的维护成本链路更短延迟更低flink提供了exactly once语义可以从指定position读取去掉了kafka减少了消息的存储成本 喵呜面试助手一站式解决面试问题你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] - 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享