当前位置: 首页 > news >正文

网站优化方案基本流程网站建设策划有哪些

网站优化方案基本流程,网站建设策划有哪些,长春是不是要封城了,WordPress勾选评论Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的数据同步方案,基于 Flink CDC 同步的解决方案以及更多…

Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的数据同步方案,基于 Flink CDC 同步的解决方案以及更多的应用场景和 CDC 未来开发规划等方面进行介绍和演示。
1、传统数据同步方案
2、基于 Flink SQL CDC 的数据同步方案(Demo)
3、Flink SQL CDC 的更多应用场景
4、Flink SQL CDC 的未来规划
直播回顾:
https://www.bilibili.com/video/BV1zt4y1D7kt/ 

传统的数据同步方案与 Flink SQL CDC 解决方案

业务系统经常会遇到需要更新数据到多个存储的需求。例如:一个订单系统刚刚开始只需要写入数据库即可完成业务使用。某天 BI 团队期望对数据库做全文索引,于是我们同时要写多一份数据到 ES 中,改造后一段时间,又有需求需要写入到 Redis 缓存中。

很明显这种模式是不可持续发展的,这种双写到各个数据存储系统中可能导致不可维护和扩展,数据一致性问题等,需要引入分布式事务,成本和复杂度也随之增加。我们可以通过 CDC(Change Data Capture)工具进行解除耦合,同步到下游需要同步的存储系统。通过这种方式提高系统的稳健性,也方便后续的维护。

Flink SQL CDC 数据同步与原理解析

CDC 全称是 Change Data Capture ,它是一个比较广义的概念,只要能捕获变更的数据,我们都可以称为 CDC 。业界主要有基于查询的 CDC 和基于日志的 CDC ,可以从下面表格对比他们功能和差异点。

经过以上对比,我们可以发现基于日志 CDC 有以下这几种优势:
· 能够捕获所有数据的变化,捕获完整的变更记录。在异地容灾,数据备份等场景中得到广泛应用,如果是基于查询的 CDC 有可能导致两次查询的中间一部分数据丢失
· 每次 DML 操作均有记录无需像查询 CDC 这样发起全表扫描进行过滤,拥有更高的效率和性能,具有低延迟,不增加数据库负载的优势
· 无需入侵业务,业务解耦,无需更改业务模型
· 捕获删除事件和捕获旧记录的状态,在查询 CDC 中,周期的查询无法感知中间数据是否删除

基于日志的 CDC 方案介绍

从 ETL 的角度进行分析,一般采集的都是业务库数据,这里使用 MySQL 作为需要采集的数据库,通过 Debezium 把 MySQL Binlog 进行采集后发送至 Kafka 消息队列,然后对接一些实时计算引擎或者 APP 进行消费后把数据传输入 OLAP 系统或者其他存储介质。
Flink 希望打通更多数据源,发挥完整的计算能力。我们生产中主要来源于业务日志和数据库日志,Flink 在业务日志的支持上已经非常完善,但是在数据库日志支持方面在 Flink 1.11 前还属于一片空白,这就是为什么要集成 CDC 的原因之一。
Flink SQL 内部支持了完整的 changelog 机制,所以 Flink 对接 CDC 数据只需要把CDC 数据转换成 Flink 认识的数据,所以在 Flink 1.11 里面重构了 TableSource 接口,以便更好支持和集成 CDC。

重构后的 TableSource 输出的都是 RowData 数据结构,代表了一行的数据。在RowData 上面会有一个元数据的信息,我们称为 RowKind 。RowKind 里面包括了插入、更新前、更新后、删除,这样和数据库里面的 binlog 概念十分类似。通过 Debezium 采集的 JSON 格式,包含了旧数据和新数据行以及原数据信息,op 的 u表示是 update 更新操作标识符,ts_ms 表示同步的时间戳。因此,对接 Debezium JSON 的数据,其实就是将这种原始的 JSON 数据转换成 Flink 认识的 RowData。 

选择 Flink 作为 ETL 工具

当选择 Flink 作为 ETL 工具时,在数据同步场景,如下图同步结构:

通过 Debezium 订阅业务库 MySQL 的 Binlog 传输至 Kafka ,Flink 通过创建 Kafka 表指定 format 格式为 debezium-json ,然后通过 Flink 进行计算后或者直接插入到其他外部数据存储系统,例如图中的 Elasticsearch 和 PostgreSQL。

但是这个架构有个缺点,我们可以看到采集端组件过多导致维护繁杂,这时候就会想是否可以用 Flink SQL 直接对接 MySQL 的 binlog 数据呢,有没可以替代的方案呢?
答案是有的!经过改进后结构如下图:

社区开发了 flink-cdc-connectors 组件,这是一个可以直接从 MySQL、PostgreSQL 等数据库直接读取全量数据和增量变更数据的 source 组件。目前也已开源,开源地址:
https://github.com/ververica/flink-cdc-connectors
flink-cdc-connectors 可以用来替换 Debezium+Kafka 的数据采集模块,从而实现 Flink SQL 采集+计算+传输(ETL)一体化,这样做的优点有以下:
· 开箱即用,简单易上手
· 减少维护的组件,简化实时链路,减轻部署成本
· 减小端到端延迟
· Flink 自身支持 Exactly Once 的读取和计算
· 数据不落地,减少存储成本
· 支持全量和增量流式读取
· binlog 采集位点可回溯* 

http://www.yayakq.cn/news/388715/

相关文章:

  • 在线电影网站开发自己电脑做网站域名备案
  • 小型网站设计做网站交接需要哪些权限
  • 网站建设公司行业描述填什么夜晚很晚视频免费素材网站
  • 商务网站建设联系方式外包小程序开发费用一览表
  • 个人网站是啥厦门好景科技做网站
  • 沈阳做网站直播的公司中国企业500强门槛
  • 太原有哪些做网站的公司广东网络科技有限公司
  • 高明区住房和城乡建设局网站手机微网站怎么制作
  • 茂县建设局网站烟台高端网站建设公司哪家好
  • 个人注册网站怎么注册在线做ps是什么网站
  • 青州网站定制手机精品网站建设
  • 长沙网站建设有限公司查关键词排名
  • 免费域名注册网站怎么登录做网站业务员如何跟客户沟通
  • 事件网站推广太原百度推广开户
  • 品牌网站建设多少钱网站页头页尾怎么做浏览器缓冲设置
  • 百度文库 旅游网站建设方案书asp网站开发 知识
  • 苏州网站建设推广案例威海网站建设费用
  • 溧阳做网站哪家好电脑课程培训零基础
  • 杭州网站建设规划邵东网站
  • 网站建设公司业务培训个人网站页面
  • 英文 科技网站系统定制
  • ios移动网站开发详解网上如何推广平台
  • 手机网站设计欣赏有什么办法可以在备案期间网站不影响seo
  • 平顶山建设局网站wordpress使用缩略
  • 蒙城网站建设asp网站怎么做404页面
  • 获胜者网站建设wordpress商城 注册
  • 免费网站空间 推荐wordpress 评论链接
  • 一个网站的入口网页又称为硬件开发协议
  • 衡阳市建设协会网站网站如何设置广告
  • 西安优秀的集团门户网站建设服务商聊城网架公司