组件总结(canal和binglog)

一、canal

在大数据学习中,我们不仅要把数据保存在数据库中,还要同步保存到Elastic Search、HBase、Redis等等

canal可以很方便地同步数据库的增量数据到其他的存储应用

canal概述

canal,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。

增量日志 增量数据订阅和消费。
在这里插入图片描述
工作原理:
把自己伪装成My SQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到canal发送过来的dump请求,开始推送binary log给canal,然后canal解析binary log,再发送到存储目的地,比如MySQL,Kafka,Elastic Search等等。

canal能做什么

基于binary log增量订阅和消费,数据同步不是全量的,而是增量

  • 数据库镜像
  • 数据库实时备份
  • 索引构建和实时维护
  • 业务cache(缓存)刷新
  • 带业务逻辑的增量数据处理

二、CDC

Change Data Capture,变动数据获取的简称

与数据库迁徙工具对比

CDC ----> 增长型的数据库,并且修改较少(eg:订单表)
迁徙 ----> 增量 / 全量 时效性较差 (eg: 用户信息表)

四种方式:
基于时间戳的CDC、基于触发器的CDC、基于快照的CDC 和 基于日志的CDC,其中前三种是侵入式的。

binlog( 基于日志的CDC)

binglog概述

MySQL数据库的一种日志形式,作用是记录MySQL中DDL和DML
需要手动开启,但是对应MySQL有一定的性能损耗

binglog形式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值