快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

[数据库同步中间件轻量]Alibaba Canal数据同步中间件

请联系QQ:1793040 索取软件

1、bat和sh文件区别

  A..bat是在window系统上执行的批处理文件,批处理文件的扩展名是.bat或.cmd,启动该文件可以在cmd命令提示符下输入文件的名称,也可以双击该文件;

  B..sh是在Linux系统上执行的批处理文件,启动该文件可以在目录下输入https://www.cnblogs.com/ruhuanxingyun/p/fileName.sh,也可以sh fileName.sh。

2、canal简单介绍

  介绍canal之前,先说一下trigger触发器,我曾经做过一个主从节点,分省建设项目,需要把管理节点的数据同步到业务节点,就是采用trigger触发器做的client-server模式组件,后来发现很多问题,例如服务器时间不一致同步有问题、并发情况下触发器偶尔不工作等,后来项目重构采用了业务节点存放数据,管理节点汇聚数据,多数据源来解决的,节点读写分离就是采用canal解决的。

  A.canal作为MySQL binlog增量获取和解析工具,采用了client-server模式,首先启动server端,再运行client端,server端直接下载使用,client端可采用不同的语言实现不同的消费逻辑;

  B.基于日志的增量订阅和消费的业务:数据库镜像、数据库实时备份、索引构建和实时维护、业务cache刷新、带业务逻辑的增量处理;

  C.canal和MySQL主从复制的工作原理比较:

  D.client的maven依赖:


    com.alibaba.otter
    canal.client
    1.1.3

  E.server启动配置:普通快速启动、docker模式快速启动、kafka/rocket快速启动等;

  F、client适配elasticsearch、redis等。

3.canal client数据对象(EntryProtocol.proto)格式含义:

Entry
header
version 协议的版本号,默认1
logfileName binlog的文件名
logfileOffset binlog position
serverId 服务端serverId
serverenCode 变更数据的编码
executeTime 变更数据的执行时间
sourceType 变更数据的来源,默认MySQL
schemaName 变更数据的数据库名
tableName 变更数据的表名
eventType insert/update/delete类型,默认update
eventLength 每个event的长度
props 预留扩展
gtid 当前事务的gtid
entryType 事务头begin/事务尾end/数据rowdata
storeValue byte数据,对应的类型RowChange
RowChange
tableId 由数据库产生
eventType 数据变更类型,默认update
isDdl 标识是否是ddl语句,比如create table/drop table
sql ddl/query的语句
rowDatas
beforeColums 字段信息,增量数据(修改前,删除前),Column类型的数组
afterColumns 字段信息,增量数据(修改后,新增后),Column类型的数组
props 预留扩展
ddlSchemaName ddl/quey的schemaName,会存在跨库ddl,需要保留ddl执行的当前schemaName
props 预留扩展
Column
index 字段下标
sqlType jdbc type
name 字段名称,忽略大小写
isKey 是否为主键
updated 是否发生过变更
isNull 值是否为null
value 字段值,timestamp/dateTime是一个时间格式的文本,其余为string
length 对应数据对象原始长度
mysqlType 字段mysql类型

  注意:insert只有afterColumns,delete只有beforeColumns,而update有afterColumns和beforeColumns两个数据

  可参考:canal中间件官网地址

      canal介绍

      canal服务端配置及代码、详细配置

      canal client API介绍

https://www.cnblogs.com/javazhiyin/p/10836846.html

https://shift-alt-ctrl.iteye.com/blog/2399603

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040