Otter实现数据库同步

article/2025/8/26 14:41:24

Otter工作原理
在这里插入图片描述
原理描述:

  1. 基于Canal开源产品,获取数据库增量日志数据。
  2. 典型管理系统架构,manager(web管理)+node(工作节点)
    a. manager运行时推送同步配置到node节点
    b. node节点将同步状态反馈到manager上
  3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.
    4.db : 数据源以及需要同步到的库

Otter能解决什么问题?

  1. 1、异构库同步
    Otter支持从Mysql同步到Mysql/oracle,我们可以把mysql同步到oracle
    2、单机房同步
    可以作为一主多从同步方案,对于单机房内网来说效率非常高,还可以做为数据库版本升级,数据表迁移,二级索引等这类功能
    3、异地机房同步
    异地机房同步可以说是Otter最大的亮点之一,可以解决国际化问题把数据从国内同步到国外来提供用户使用,在国内场景可以做到数据多机房容灾
    4、双向同步
    双向同步是在数据同步中最难搞的一种场景,Otter可以很好的应对这种场景,Otter有避免回环算法和数据一致性算法两种特性,保证双A机房模式下,数据保证最终一致性
    5、文件同步
    站点镜像,进行数据复制的同时,复制关联的图片,比如复制产品数据,同时复制产品图片
    在这里插入图片描述
    说明:
    a. 数据on-Fly,尽可能不落地,更快的进行数据同步. (开启node loadBalancer算法,如果Node节点S+ETL落在不同的Node上,数据会有个网络传输过程)
    b. node节点可以有failover / loadBalancer.

在这里插入图片描述
说明:
a. 数据涉及网络传输,S/E/T/L几个阶段会分散在2个或者更多Node节点上,多个Node之间通过zookeeper进行协同工作 (一般是Select和Extract在一个机房的Node,Transform/Load落在另一个机房的Node)
b. node节点可以有failover / loadBalancer. (每个机房的Node节点,都可以是集群,一台或者多台机器)
二、Manager安装配置
下载地址https://github.com/alibaba/otter
2.1环境初始化

推荐使用oneinstack进行环境配置(默认更新gcc,cmake等减少出现的依赖问题)
1.	wget http://mirrors.linuxeye.com

http://chatgpt.dhexx.cn/article/lRm91hYg.shtml

相关文章

【愚公系列】2022年12月 数据库-关系数据库同步框架Dotmim.Sync的使用

文章目录 前言1.移动智能的三种模式2.混合模式模式的瓶颈3.数据同步的解决方案 一、关系数据库同步框架Dotmim.Sync的使用1.包介绍2.SqlServer到Sqlite同步测试基本使用3.SqlServer到Sqlite同步测试Web API代理3.1 服务端设置SqlServer同步服务3.2 客户端设置SqlLite同步服务3.…

django mysql数据同步_[django自动同步数据库]Django数据库同步操作技巧详解

同步数据库: 使用上述两条命令同步数据库 1.认识migrations目录: migrations目录作用:用来存放通过makemigrations命令生成的数据库脚本,里面的生成的脚本不要轻易修改。 要正常的使用数据库同步的功能,app目录下必须要…

SQLSERVER数据库同步

SQLSERVER数据库数据同步 1、实现方法2、实现发布3、实现订阅 1、实现方法 使用的是SQL自带的发布与订阅功能,SQL Server版本是2008,一台发布,一台订阅,实现数据库的数据同步。 2、实现发布 打开复制,右击本地发布&…

MySQL第九讲 MySQL集群主从搭建指定数据库同步数据

1、全库同步与部分同步 之前提到,我们目前配置的主从同步是针对全库配置的,而实际环境中,一般并 不需要针对全库做备份,而只需要对一些特别重要的库或者表来进行同步。那如何 针对库和表做同步配置呢? 首先在Master端…

Python数据库同步神器(一键同步)

1.背景: 最近公司项目的用户中心模块经常出现线上问题,测试人员需要将线上真实数据导入到测试环境中去复现Bug。公司有3套测试环境,来回切换并校验数据比较麻烦,于是就有了如下的数据库同步神器。 2.界面: 3.源代码&…

分布式数据库同步

分布式部署时数据库之间的数据同步 数据的同步原理就是同步binlog日志到需要复制的其他的数据库上,其他数据库根据binlog日志里面的ddl和dml语句,执行该语句同步到当前数据库,就能保证多个数据库的数据的一致性。 Binlog日志主要是的数据库执行的ddl、…

异构数据库同步方案

目录 1 概述 2 原理 3 参数 1 概述 为减轻生产库负载,避免在其上直接运行分析应用拖垮系统,需要将生产系统产生的业务数据实时同步到大数据分析平台。 凭借异构(主从库不同类型、主从对象不同属主模式)数据处理能力&#xff…

IDEA 之because it is included into a circular dependency循环依赖的解决办法

问题场景: 今天启动项目的时候突然遇到这个错误导致无法启动 Information:2019/8/26 11:34 - Compilation completed with 1 error and 0 warnings in 6 s 52 ms Error:Cannot build artifact aws_multi_branch_1.0.0:war exploded because it is included into a…

Maven dependencyManagement 详解

dependencyManagement(以下简称:《依赖管理器》) 《依赖管理器》简介 Maven中的《依赖管理器》元素提供了一种管理依赖版本号的方式。在《依赖管理器》元素中声明所依赖的jar包的版本号等信息,那么所有子项目再次引入此依赖jar包…

Maven之dependencyManagement

1. 父项目的dependencyManagement 最开始,知道dependencyManagement是管理jar包版本的,如果在父项目中的该节点下声明了包的版本,子项目中在Dependencies中引用该包时就不需要声明版本了,这样保证多个子项目能够使用相同的包版本…

dependency-track 初始化源码解析

因项目的关键因素,需查看dependency-check源码流程。个人学习用。自己读代码可以根据web.xml的几个listener来debug。 1、org.dependencytrack.RequirementsVerifier 校验java版本,内存等运行时环境。 2、org.dependencytrack.upgrade.UpgradeInitiali…

Maven中的dependencyManagement 详解

Maven中的dependencyManagement 详解 大家好,我是酷酷的韩金群~ 1.作用: 在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。 2.pom.xml文件中,jar的版本判断的两种途径: (1)如果dependencies里的dependency自己…

dependency walker工具简介及使用

dependency walker工具 简介使用 简介 官方概述: Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, …

pytest.mark.dependency用例依赖

这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了pytest.mark.skip。 1.安装 安装命令如下: pip install pytest-dependency执行上述命令后,再执行pip i…

dependencyManagement使用简介

dependencyManagement使用简介 Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyManagement元素中声明所依赖的jar包的版本号等信息,那么所有子项目再次引入此依赖jar包时则无需显式的列出版本号。Maven会沿着父子层级向上寻找拥有…

Dependency-check

文章目录 前言工具简介工具原理原理检测过程NVDCVSS 工具安装工具地址环境依赖工具安装Jenkins PluginCommand LineOn *nixOn WindowsOn Mac (rec) Maven PluginAnt Task 使用示例命令行方式(Mac)插件方式 报告解读CSV格式报告HTML格式报告 工具对比参考 前言 公司…

maven中dependency的属性(依赖)配置

groupId,artfactId,version,type,classifier,scope,systemPath,exclusions,optional 是 maven的9种依赖属性, 其中groupId,artfactId,version是三…

Maven -- dependency详解

PS&#xff1a;部分来源官网文档&#xff0c;翻译不到位&#xff0c;请移步官网 一 &#xff1a;type&#xff1a;个人理解&#xff1a;依赖<dependency>通过其子标签 定位了某个特定的唯一构件&#xff0c;所以type--依赖类型&#xff0c;更准确的说应该是依赖的构件…

MySQL中“full outer join“的实现

一: 先创建两个表 二: 使用【left join】 union 【right join】 select t1.dim_a, t1.qty qty_a, t2.dim_a dim_b, t2.qty qty_b from ta t1 left join tb t2 on t1.dim_at2.dim_a union select t1.dim_a, t1.qty qty_a, t2.dim_a dim_b, t2.qty qty_b from ta t1 right join…

left join 和 left outer join 的区别

通俗的讲&#xff1a; A left join B 的连接的记录数与A表的记录数同 A right join B 的连接的记录数与B表的记录数同 A left join B 等价B right join A table A: Field_K, Field_A 1 a 3 b 4 c table B: …