您现在的位置是:首页 > 正文

otter学习 | canal和otter的关系? 热门推荐

2024-01-30 21:33:49阅读 0

在回答这问题之前,首先来看一张canal&otter和mysql复制的类比图:
这里写图片描述
mysql的自带复制技术可分成三步:

  1. master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看);

  2. slave将master的binary log events拷贝到它的中继日志(relay log),这里是I/O thread线程;

  3. slave重做中继日志中的事件,将改变反映它自己的数据,这里是SQL thread线程。

基于canal&otter的复制技术和mysql复制类似,具有类比性:

  1. Canal对应于I/O thread,接收Master Binary Log;

  2. Otter对应于SQL thread,通过Canal获取Binary Log数据,执行同步插入数据库;

两者的区别在于:

  1. otter目前嵌入式依赖canal,部署为同一个jvm,目前设计为不产生Relay Log,数据不落地;

  2. otter目前允许自定义同步逻辑,解决各类需求;
    a. ETL转化. 比如Slave上目标表的表名,字段名,字段类型不同,字段个数不同等.
    b. 异构数据库. 比如Slave可以是oracle或者其他类型的存储,nosql等.
    c. M-M部署,解决数据一致性问题
    d. 基于manager部署,方便监控同步状态和管理同步任务.

网站文章

  • 设计模式(19)命令模式

    设计模式(19)命令模式

    1、定义:命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,从而使你可以使用不同的请求对客户端进行参数化。(2)具体命令类(Concrete Command):实现...

    2024-01-30 21:33:42
  • 自定义线程池

    自定义线程池

    一:参数分析 我们要想自定义线程池,必须先了解线程池的工作流程,才能自己定义线程池。下图是ThreadPoolExecutor的构造方法。 我们可以通过下面的场景理解ThreadPoolExecuto...

    2024-01-30 21:33:13
  • MobaXterm登录密码重置问题

    MobaXterm登录密码重置问题

    登录MobaXterm提示输入密码,密码输入多次后无果,密码忘记如法使用MobaXterm软件,经过查询后可采用密码重置的方式处理。使用浏览器打开如下网址:https://mobaxterm.moba...

    2024-01-30 21:33:04
  • 括号匹配数据结构

    学习分享本周学习的是数据结构的括号匹配,所谓括号匹配指的是在命令端输入一行只含有括号的代码,然后运行代码,判断每一个左括号是否有一个右括号与之对应,从而判断输入的数据是否违法代码如下:#define ...

    2024-01-30 21:32:57
  • echart图表保存为图片的两种方式

    echart图表保存为图片的两种方式

    将echarts图表和ucharts图表保存为图片

    2024-01-30 21:32:28
  • 头歌大数据——MapReduce 基础实战 答案 无解析

    头歌大数据——MapReduce 基础实战 答案 无解析

    2024-01-30 21:32:20
  • JMeter巧用计数器实现CSV数据文件设置的功能

    JMeter巧用计数器实现CSV数据文件设置的功能

    需求本次压测范围包含登录接口,但是压测环境user表用户数据量太少,和生产环境数据量不是一个量级,因此,需要先通过并发跑注册接口造用户数据需要参数化的字段是username和phone说明:本次演示的接口是示例接口,非实际生产环境接口注册接口如下:方案一:CSV 数据文件设置我们先通过代码(python或者java均可)造一定量的参数化数据写在参数化reg.txt文件中pac...

    2024-01-30 21:32:13
  • android线,android_线

    android线,android_线

    说明:android螺纹。android无非就是一个线程Main Thread和Worker Thread。(除了主线程Main Thread是Worker Thread)Main Thread 也叫...

    2024-01-30 21:31:35
  • HMM与CRF模型的使用过程存在哪些差异?

    HMM与CRF模型的使用过程存在哪些差异?

    训练后, 我们就得到了具备预测能力的新模型: lambda = CRF(w1, w2, ..., wn), 其中的模型参数已经改变.之后给定输入序列(x1, x2, ..., xn), 经过模型计算l...

    2024-01-30 21:31:28
  • Java读取文件为字符串】使用Java编程读取文件内容并将其作为字符串进行处理

    在Java中,读取文件内容需要使用文件输入流(FileInputStream)和缓冲区输入流(BufferedReader)。这是一个简单的示例,展示了如何使用Java读取文件并将其作为字符串进行处理...

    2024-01-30 21:31:21