ToB企服应用市场:ToB评测及商务社交产业平台

标题: 大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与优势 拉链表 实时统 [打印本页]

作者: 一给    时间: 2025-1-11 17:54
标题: 大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与优势 拉链表 实时统
点一下关注吧!!!非常感谢!!持续更新!!!

Java篇开始了!


目前已经更新到了:


章节内容



Canal 同步业务数据

环境准备


Canal 介绍

阿里巴巴 B2B 公司,由于业务的特性,卖家告急会集在国内,买家告急会集在国外,以是衍生出了杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始渐渐的尝试基于数据库的日志剖析,获取增量变更举行同步,由此衍生出了增量订阅、消耗的业务。
Canal是用 Java 开辟的基于数据库增量日志剖析,提供增量数据订阅、消耗的中间件。目前,Canal告急支持了 MySQL 的 Binlog 剖析,剖析完成后才利用 Canal Client 用来处理得到相干数据。(数据库同步需要案例的 otter 中间件,基于 Canal)。
Canal 的背景与初衷

在大规模互联网应用中,尤其是在像阿里巴巴如许的电商平台中,数据库的规模和复杂度通常非常高。为了进步数据的实时性和可用性,很多业务场景需要实时地同步数据库中的变化(如订单、用户数据等),并确保数据在多个系统之间同等。
Canal 的诞生,正是为相识决这一问题。通过 变更数据捕获(CDC) 技能,Canal 能够高效地监控并捕获数据库中的数据变动(如插入、更新、删除等操纵),然后将这些变动实时同步到下游系统,如搜索引擎、数据仓库、缓存等。
Canal 的核心功能

变更数据捕获(CDC)

Canal 的核心功能是实现变更数据捕获,它通过 剖析数据库日志(binlog) 的方式来获取数据库中的变化数据。Canal 支持 MySQL、PostgreSQL、Oracle 等数据库,并能够实时地捕获数据库的变化。

数据同步

Canal 不光可以捕获数据变动,还能将这些数据变动同步到其他系统。常见的应用场景包括:

异构数据库支持

Canal 不光支持 MySQL、PostgreSQL、Oracle 等传统关系型数据库,还支持通过扩展和插件的方式支持更多数据库的接入,适应差别数据库之间的同步需求。
数据剖析与转换

Canal 允许对捕获到的数据举行剖析和转换。用户可以基于 Canal 提供的 API,定制化处理从数据库中捕获的数据,比如数据格式的转换、过滤等。
Canal 的工作原理

Canal 的工作原理大致分为以下几个步骤:

Canal 的优势


Canal 的部署与使用

Canal 的部署和使用并不复杂,用户只需设置 Canal 与数据库的连接信息,并定义目标系统,Canal 就能开始实时捕获并同步数据。它支持 单机模式 和 集群模式,用户可以根据实际的吞吐量和可用性需求来选择差别的部署方式。
设置

用户需要设置以下内容:

启动与监控

Canal 提供了简单的命令行工具来启动服务,而且可以通过 Web 界面或监控系统(如 Prometheus)对 Canal 的运行状态举行实时监控。
使用场景

原始场景

阿里 otter 中间件的一部分


更新缓存


拉链表

订单表,6 月 20 日有 3 条记载:

到 6 月 21 日,表中有 5 条记载:

到 6 月 22 日,表中有 6 条记载:

在数据仓库中筹划汗青拉链表保存该表



和原表在 6 月 21 日的记载完全同等,可以看出,如许的汗青拉链表,技能满意汗青数据的需求,又能很大水平的节流存储空间。
实时统计

抓去业务表的新增变化数据,用于实时统计。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4