数据仓库内容分享(十):CDC 技术

这篇具有很好参考价值的文章主要介绍了数据仓库内容分享(十):CDC 技术。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

成为数据治理专家: CDC 技术

CDC 概述

CDC 技术应用场景

对比常见的开源 CDC 方案

Sqoop

DataX

Flink CDC

Debezium

Canal


成为数据治理专家: CDC 技术

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

CDC 概述

CDC 的全称是 Change Data Capture (变更数据捕获) ,在广义的概念上,只要是能捕获数据变更的技术,我们都可以称之为 CDC 。目前通常描述的 CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC 技术的应用场景非常广泛:

数据同步:用于备份,容灾;数据分发:一个数据源分发给多个下游系统;数据采集:面向数据仓库 / 数据湖的 ETL 数据集成,是非常重要的数据源。CDC 的技术方案非常多,目前业界主流的实现机制可以分为两种:

  • 基于查询的 CDC:离线调度查询作业,批处理。把一张表同步到其他系统,每次通过查询去获取表中最新的数据;无法保障数据一致性,查的过程中有可能数据已经发生了多次变更;不保障实时性,基于离线调度存在天然的延迟。

  • 基于日志的 CDC:实时消费日志,流处理,例如 MySQL 的 binlog 日志完整记录了数据库中的变更,可以把 binlog 文件当作流的数据源;保障数据一致性,因为 binlog 文件包含了所有历史变更明细;保障实时性,因为类似 binlog 的日志文件是可以流式消费的,提供的是实时数据。

CDC 技术应用场景

在海量数据时代,数据中蕴含着大量的价值,如何让数据流动起来而不是只为某一个业务系统所使用, 是挖掘数据价值的前提。CDC 技术就能很好的解决这一点,脱离单一的业务系统,把关注度聚焦到数据上。

假设我们正在构建一个简单的 Web 应用程序。在大多数情况下,此类项目从最小的数据架构开始。例如,像 MySQL 或 PostgreSQL 这样的关系数据库足以处理和存储许多用户可以使用的数据。他们输入查询,更新它们,关闭它们,更正它们,通常会执行许多操作。它可以是 CRM、ERP、自动银行系统、计费系统,甚至是 POS 终端,应有尽有。

但是,存储在数据库中的信息可能会引起许多第三方系统的兴趣,通常是分析系统。企业需要了解存储在该系统中的应用程序或其他实体的状态——账户、存款、制造、人力资源等。数据几乎在每项业务运营中都发挥着重要作用。因此,企业会定期生成报告,这些报告反映了企业感兴趣的所有主要指标,并且是做出进一步管理决策所必需的。

报告和分析计算通常非常消耗资源。查询可能需要数小时才能完成,这通常会严重影响从中检索数据的系统的性能。另一个缺点是发送所有这些数据会给网络带来很大压力。最后,基于该数据的业务决策由于查询频率而延迟。所以,如果你每晚更新数据,那意味着你要到第二天才能知道昨天发生了什么。

如果系统有一个明确的负载减少时间段(例如在夜间),并且这段时间足以卸载所有必要的数据而不影响系统的主要活动——那么使用对 RDBMS 的直接查询可能是一个可以接受的选项。但是,如果没有减少负载的时期,或者分配的负载窗口不足以完全卸载整个更改的数据怎么办?

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

CDC 变更数据捕获只会捕获数据中的变化,这是复制数据的 ETL 模式之一。它是一种确定我们感兴趣的数据的机制,即跟踪源数据库中的更改并将其应用于目标数据库或数据仓库。并且在目标数据库或数据仓库中,我们可以进行所有类型的分析、报告生成等,甚至不会影响源数据库的性能。

因此,用户可以在不降低性能的情况下使用原始系统,并且管理层可以随时获取他们做出管理决策所需的报告。

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

对比常见的开源 CDC 方案

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

Sqoop

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

Sqoop CDC通过监视源数据库的事务日志来实现数据的增量抽取。它能够检测到源数据库中发生的更改操作,并将这些更改操作应用于目标数据库,以保持两者的数据同步。使用CDC,用户可以在不间断的情况下将更新的数据批量和实时地移动到目标数据库中,而无需整体导出整个数据集。

DataX

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

DataX CDC基于DataX框架,为用户提供了一种灵活、高效的数据同步解决方案。它通过监视源数据库的事务日志或数据库增量日志来捕获源数据库中的变更操作,并将这些操作应用于目标数据库,以保持两者之间的数据同步。这种增量方式可以大大减少数据传输的时间和成本,并提供更及时的数据更新。

Flink CDC

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

Flink CDC利用Flink框架的流式计算能力来处理和转换变更数据。它使用源数据库的增量日志或者事务日志作为输入源,通过Flink的流处理引擎对日志进行实时解析和处理,并将解析后的数据应用于目标数据库,以实现数据的增量传输和同步。

Debezium

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

Debezium是一个为变更数据捕获(CDC)提供低延迟数据流平台的开源项目。Debezium是一个将来自现有数据库的信息转换为事件流的分布式平台,使应用程序能够检测并立即响应数据库中的行级更改。

Debezium构建在Apache Kafka之上,并提供了一组Kafka Connect兼容的连接器。每个连接器都与特定的数据库管理系统(DBMS)一起工作。连接器通过检测发生的变化来记录DBMS中数据变化的历史,并将每个变化事件的记录流式传输到Kafka Topic。然后,消费应用程序可以从Kafka主题中读取结果事件记录。通过利用Kafka可靠的流媒体平台,Debezium使应用程序能够正确和完整地消费数据库中发生的更改。即使您的应用程序意外停止或失去连接,它也不会错过停机期间发生的事件。应用程序重新启动后,它将从停止的位置继续从主题读取。

Canal

数据仓库内容分享(十):CDC 技术,数据仓库内容分享,大数据(Hadoop)内容分享,数据仓库

基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费,canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议 MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal ) canal 解析 binary log 对象(原始为 byte 流)。文章来源地址https://www.toymoban.com/news/detail-829936.html

到了这里,关于数据仓库内容分享(十):CDC 技术的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据仓库内容分享(三):行式存储VS列式存储

    目录 行式存储 列式存储 行存储、列存储对比 数据写入对比 数据读取对比 代码模拟行存和列存 行式存储、列式存储的主流数据库 行式存储数据库 列式存储数据库 行列混存数据库 Row-based storage storesatable in a sequence of rows 常见的 TP 库,如 Oracle、DB2、MySQL、SQL SERVER 等采用行式

    2024年02月22日
    浏览(34)
  • 数据仓库内容分享(十七):Doris实践分享:它做了哪些架构优化和场景优化?

    Apache Doris是一款开源的实时数据仓库,由百度旗下的技术团队开发。它具有高性能、高可靠性、易扩展等特点,能够满足大规模数据实时查询和分析的需求。目前,Apache Doris已经成为国内外众多企业的首选数据仓库解决方案,包括阿里巴巴、美团、京东、滴滴等知名企业。

    2024年02月21日
    浏览(42)
  • 大数据技术之Hadoop学习(七)——Hive数据仓库

    目录 素材 一、数据仓库简介 1、数据仓库的认识 (1)数据仓库是面向主题的。 (2)数据仓库是随时间变化的。 (3)数据仓库相对稳定 (4)OLTP和OLAP 2、数据仓库的结构 (1)数据源 (2)数据存储及管理 (3)OLAP 服务器 (4)前端工具 3、数据仓库的数据模型 (1)星状模

    2024年02月17日
    浏览(33)
  • Flink 内容分享(二十七):Hadoop vs Spark vs Flink——大数据框架比较

    大数据开发离不开各种框架,我们通过学习 Apache Hadoop、Spark 和 Flink 之间的特征比较,可以从侧面了解要学习的内容。众所周知,Hadoop vs Spark vs Flink是快速占领 IT 市场的三大大数据技术,大数据岗位几乎都是围绕它们展开。 本文,将详细介绍三种框架之间的区别。 Hadoop:为

    2024年02月01日
    浏览(50)
  • Flink 内容分享(二十一):通过Flink CDC一键整库同步MongoDB到Paimon

    目录 导言 Paimon CDC Demo 说明 Demo 准备 Demo 开始 总结 MongoDB 是一个比较成熟的文档数据库,在业务场景中,通常需要采集 MongoDB 的数据到数据仓库或数据湖中,面向分析场景使用。 Flink MongoDB CDC 是 Flink CDC 社区提供的一个用于捕获变更数据(Change Data Capturing)的 Flink 连接器,

    2024年01月20日
    浏览(37)
  • Flink CDC 2.4 正式发布,5分钟了解CDC 2.4新内容,新增 Vitess 数据源,更多连接器支持增量快照,升级 Debezium 版本

    来源:https://ververica.github.io/flink-cdc-connectors/master/ Flink CDC [1] 是基于数据库的日志 CDC 技术,实现了全增量一体化读取的数据集成框架。配合 Flink 优秀的管道能力和丰富的上下游生态,Flink CDC 可以高效实现海量数据的实时集成。 具体关于Flink CDC是什么?可以看下这篇文字 作

    2024年02月12日
    浏览(36)
  • 大数据技术之 Flink-CDC

    CDC 是 Change Data Capture(变更数据获取)的简称。在广义的概念上,只要是能捕获数据变更的技术,我们都可以称之为 CDC 。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以

    2024年02月05日
    浏览(39)
  • AIGC内容分享(二):全球大模型技术与应用分析

    目录 前言 人工智能技术回顾 AIGC近期动态梳理 1. 国内动态 2. 国外动态 3. OpenAI的关键动作 4. AIGC的技术变革  AIGC的关键应用 1. AIGC应用背后的驱动力 2. AIGC的三大原能力 3.  AIGC的四大产品形态 大模型如何融入行业? 1. 通用行业融合 2. 垂直行业融合 这篇文章主要阅读者是产品

    2024年01月16日
    浏览(40)
  • 架构设计内容分享(一百九十五):揭秘微服务容错处理技术

    目录 容错处理 01 超时控制 02 熔断机制 03 重试机制 04 负载均衡与故障转移 05 服务降级 微服务治理涉及多个方面,包括服务注册与发现、负载均衡、容错处理、服务配置管理等,这些技术共同确保微服务架构的稳定运行。 在微服务架构中,容错处理技术是确保系统高可用性

    2024年02月21日
    浏览(43)
  • 技术分享:PHP读取TXT文本内容的五种实用方法

    在Web开发中,我们经常需要读取和处理文本文件。PHP作为一种流行的服务器端脚本语言,提供了多种方法来读取TXT文本内容。本文将介绍五种不同的PHP教程,帮助您学习如何使用PHP读取TXT文本内容。PHP读取文件内容在实际开发当中,还是比较常见的,所以今天我就给大家分享

    2024年01月18日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包