生产环境数据有将近百万级,需要去写代码同步的话压力也不小,然后群里小伙伴给我推荐了Canal,他们已经在业务系统里面使用了,性能杠杠的。支持的MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x。
otter GitHub介绍:见原文链接 otter是阿里巴巴分布式数据库同步系统,目前最新版本是2019年9月2日发布的v4.2.18。otter是阿里开源的一个分布式数据库同步系统,尤其是在跨机房数据库同步方面,有很强大的功能。
canal 工作原理也就是基于MySQL 主备复制原理,因此也就相对比较简单:canal 模拟 mysql slave 的交互协议,伪装自己为 mysql slave,向 mysql master 发送 dump 协议。
我们都知道一个系统最重要的是数据,数据是保存在数据库里。接下来我们看一张官网提供的示意图:canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到canal发送过来的dump请求,开始推送binary log给canal,然后canal解析binary log,再发送到存储目的地,比如MySQL,Kafka,Elastic Search等等。
Canal 除了支持 binlog 实时 增量同步 数据库之外也支持 全量同步 ,本文主要分享使用Canal来实现从MySQL到Elasticsearch的全量同步;使用ID进行数据分批,适合增长类型的ID,如自增ID、雪花ID等;使用分批的ID值进行同步。
Iceberg是数据湖解决方案中比较热门的方案之一,通常用于批流一体中数据存储的组织实现,希望通过本文让大家了解到严选是如何从老的Lambda架构升级到基于Iceberg的批流一体架构,并在落地过程中解决的一系列问题和做了哪些改进优化。
作者:阿里云数据库PolarDB分布式团队 七锋导读1:架构简介阿里云瑶池旗下的云原生数据库PolarDB分布式版(PolarDB for Xscale,简称PolarDB-X)采用Shared-nothing与存储分离计算架构进行设计,系统由5个核心组件组成。1.