论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
大数据
›
数据仓库与分析
›
大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与 ...
大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与优势 拉链表 实时统 ...
一给
金牌会员
|
2025-1-11 17:54:46
|
显示全部楼层
|
阅读模式
楼主
主题
856
|
帖子
856
|
积分
2568
点一下关注吧!!!非常感谢!!持续更新!!!
Java篇开始了!
MyBatis 更新完毕
目前开始更新 Spring,一起深入浅出!
目前已经更新到了:
Hadoop(已更完)
HDFS(已更完)
MapReduce(已更完)
Hive(已更完)
Flume(已更完)
Sqoop(已更完)
Zookeeper(已更完)
HBase(已更完)
Redis (已更完)
Kafka(已更完)
Spark(已更完)
Flink(已更完)
ClickHouse(已更完)
Kudu(已更完)
Druid(已更完)
Kylin(已更完)
Elasticsearch(已更完)
DataX(已更完)
Tez(已更完)
数据挖掘(已更完)
Prometheus(已更完)
Grafana(已更完)
离线数仓(已更完)
实时数仓(正在更新…)
章节内容
业务数据库表布局
生意业务订单、订单产物、产物分类、商家店铺、地域组织表
Canal 同步业务数据
环境准备
Hadoop
HBase
Flink
ClickHouse
MySQL
Canal
Kafka
Canal 介绍
阿里巴巴 B2B 公司,由于业务的特性,卖家告急会集在国内,买家告急会集在国外,以是衍生出了杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始渐渐的尝试基于数据库的日志剖析,获取增量变更举行同步,由此衍生出了增量订阅、消耗的业务。
Canal是用 Java 开辟的基于数据库增量日志剖析,提供增量数据订阅、消耗的中间件。目前,Canal告急支持了 MySQL 的 Binlog 剖析,剖析完成后才利用 Canal Client 用来处理得到相干数据。(数据库同步需要案例的 otter 中间件,基于 Canal)。
Canal 的背景与初衷
在大规模互联网应用中,尤其是在像阿里巴巴如许的电商平台中,数据库的规模和复杂度通常非常高。为了进步数据的实时性和可用性,很多业务场景需要实时地同步数据库中的变化(如订单、用户数据等),并确保数据在多个系统之间同等。
Canal 的诞生,正是为相识决这一问题。通过 变更数据捕获(CDC) 技能,Canal 能够高效地监控并捕获数据库中的数据变动(如插入、更新、删除等操纵),然后将这些变动实时同步到下游系统,如搜索引擎、数据仓库、缓存等。
Canal 的核心功能
变更数据捕获(CDC)
Canal 的核心功能是实现变更数据捕获,它通过 剖析数据库日志(binlog) 的方式来获取数据库中的变化数据。Canal 支持 MySQL、PostgreSQL、Oracle 等数据库,并能够实时地捕获数据库的变化。
增量数据同步: 通过剖析 binlog,Canal 能够识别出数据库的增量变化(插入、更新、删除等),并将这些变动同步到下游系统。
高效处理: Canal 对数据变更举行高效的捕获和同步,支持大规模的分布式部署,能够处理高并发、高吞吐量的场景。
数据同步
Canal 不光可以捕获数据变动,还能将这些数据变动同步到其他系统。常见的应用场景包括:
同步到搜索引擎: 比如将 MySQL 中的数据变更实时同步到 Elasticsearch,以便进步检索的实时性。
同步到数据仓库: 实现 OLAP(联机分析处理)系统中的数据实时同步,比如将数据库变更同步到 Hadoop、ClickHouse 等大数据平台。
缓存同步: 数据库变动后,Canal 可以实时更新缓存(如 Redis),以确保缓存中的数据是最新的。
异构数据库支持
Canal 不光支持 MySQL、PostgreSQL、Oracle 等传统关系型数据库,还支持通过扩展和插件的方式支持更多数据库的接入,适应差别数据库之间的同步需求。
数据剖析与转换
Canal 允许对捕获到的数据举行剖析和转换。用户可以基于 Canal 提供的 API,定制化处理从数据库中捕获的数据,比如数据格式的转换、过滤等。
Canal 的工作原理
Canal 的工作原理大致分为以下几个步骤:
连接数据库:Canal 会连接到源数据库,并获取该数据库的 binlog(对于 MySQL 来说是 binary log,其他数据库有雷同机制)。binlog 记载了数据库的全部数据变动操纵。
剖析 binlog:Canal 会持续监听和剖析数据库的 binlog 文件。每当有新的数据变动时,Canal 就会读取新的 binlog 并剖析出具体的变更内容(插入、更新、删除等)。
数据处理:Canal 会将捕获到的变更数据通过数据剖析处理,然后根据设置和需求将数据同步到下游系统(比方消息队列、缓存、搜索引擎、数据仓库等)。
长期化与监控:Canal 还提供了长期化机制,能够保存已经同步的数据状态,同时具备监控功能,能够及时检测到系统非常并举行告警处理。
Canal 的优势
实时性: Canal 可以非常快速地捕获到数据库中的变更,适用于需要实时数据同步的场景。
高吞吐量: 它可以处理大量的数据变更,适用于高并发、高吞吐量的场景。
机动性: Canal 提供了丰富的扩展接口和插件支持,用户可以根据自己的需求举行定制化处理。
高可用性: Canal 支持分布式部署和高可用架构,可以在多节点之间实现负载均衡和故障切换,包管系统的稳定性。
Canal 的部署与使用
Canal 的部署和使用并不复杂,用户只需设置 Canal 与数据库的连接信息,并定义目标系统,Canal 就能开始实时捕获并同步数据。它支持 单机模式 和 集群模式,用户可以根据实际的吞吐量和可用性需求来选择差别的部署方式。
设置
用户需要设置以下内容:
数据库连接信息:包括数据库的 IP、端口、用户名、密码等。
binlog 设置:指定要监听的 binlog 文件。
目标系统设置:设置将变更数据同步到哪个系统,比方 Kafka、Elasticsearch、Redis 等。
启动与监控
Canal 提供了简单的命令行工具来启动服务,而且可以通过 Web 界面或监控系统(如 Prometheus)对 Canal 的运行状态举行实时监控。
使用场景
原始场景
阿里 otter 中间件的一部分
数据同步: 实现差别数据库之间的数据同步,确保数据同等性。
实时数据仓库: 将源数据库的变更实时同步到数据仓库中,举行数据分析和报表展示。
实时搜索引擎更新: 将数据库的变更实时同步到搜索引擎中,提升搜索的实时性和准确性。
缓存更新: 在数据库发生变更时,及时更新缓存中的数据,避免缓存穿透和缓存差别等的问题。
更新缓存
拉链表
订单表,6 月 20 日有 3 条记载:
到 6 月 21 日,表中有 5 条记载:
到 6 月 22 日,表中有 6 条记载:
在数据仓库中筹划汗青拉链表保存该表
dw_begin_date 表示该条记载的生命周期开始时间,dw_end_date 表示该条记载的生命周期竣事时间
dw_end_date = '9999-12-31’表示该条记载属于有用
假如查询有用记载则可以直接 where 9999-12-31
假如查询 2012-06-21 的汗青快照,dw_begin_date <= ‘2012-06- 21’ and end_date >= ‘2012-06-21’
和原表在 6 月 21 日的记载完全同等,可以看出,如许的汗青拉链表,技能满意汗青数据的需求,又能很大水平的节流存储空间。
实时统计
抓去业务表的新增变化数据,用于实时统计。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
一给
金牌会员
这个人很懒什么都没写!
楼主热帖
手把手教你如何使用kali破解wifi密码( ...
C++面试八股文:std::array如何实现编 ...
3.2操作系统(基本分页存储管理的基本 ...
零基础入门 Java 后端开发,有哪些值得 ...
嵌入式 Linux 内核驱动开发【The first ...
你真的了解二叉树吗?(上篇) ...
软件开发中,如何为你的代码构建三层防 ...
上古神兵,先天至宝,Win11平台安装和配 ...
Wireshark学习笔记(一)常用功能案例 ...
京东云TiDB SQL优化的最佳实践 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表