产品术语
本文主要介绍 CloudCanal 产品中包含的专业术语。
数据源
可以为关系型数据库(MySQL/PostgreSQL/Oracle 等)、消息中间件(Kafka/RocketMQ 等)、缓存(Redis 等)、实时数仓(Greenplum/Doris/StarRocks 等)、大数据产品(Hive/Kudu 等)等或者它们对应的云托管产品配置,一般包含 链接地址、登录认证信息 等属性。
一个数据源一般以 my-59bi20aqxxxxx96 类似的 id 表示。
数据作业
完成一项数据迁移、同步工作的配置,可能包含一组先后或同时运行的结构迁移、全量迁移、增量同步、数据校验进程(数据任务)。
一个数据作业最大同步数据表范围,关系型数据库为单/多 Schema,消息为同一个消息中间件多个 Topic。
一个数据作业一般以 canal7yr4y7xxxx3 类似的实例id表示。
数据任务
一个数据作业包含多个步骤,比如结构迁移、全量迁移、增量同步、数据校验、数据订正等,一个步骤即一个数据任务。
结构迁移
数据作业范围之内,将数据源的结构定义拷贝到对端数据源,对于异构数据源,通常存在类型或特定方言转换。
全量迁移
数据作业范围之内数据单次/定时搬迁,顺序扫描源端数据源数据,批量、并发写入对端数据源,通常需要秒~小时级别时间完成此类操作。
增量同步
数据作业范围内持续增量同步,利用源端数据库变更日志、触发器类增量数据、消息等准实时采集变化数据并写入到对端数据库,对端数据库在具备实时写入能力的情况下,可以做到增量数据的亚秒级别延迟的增量同步。
数据校验和订正
数据作业范围内数据单次/定时校验和差异订正。
其中数据校验指批量扫描源端和对端数据库的数据,在内存中逐行逐列对比数据,报告数据缺失、不一致情况,记录到 diff.log 和 compare_rs.log 文件中。
数据订正根据数据校验差异数据 compare_rs.log 逐条扫描源端数据源中最新数据行,并覆盖式写入对端数据源中,达成数据订正的效果。
自定义代码
全量迁移和增量同步过程中,CloudCanal 允许用户上传业务代码(Java 代码,jar 包形式上传),对数据进行转换、过滤、补充等操作。
集群
数据任务在机器间调度的基本单元(数据任务只在单个集群中调度),可跨机架、机房、可用区,甚至地域,一般建议将物理距离相近的机器放于一个集群中。
一个集群一般以 clusterl79txxxxku 类似的集群名称表示。
机器
用来运行 数据任务,可以是自建虚拟机(VM)、物理机、云托管虚拟机(ECS, EC2 等)、开发机(Mac 等)。
一个机器只属于一个集群。
异步任务
异步任务是 CloudCanal 管控的基础组件,针对长流程、需要重试、需要状态等待等业务逻辑。
一个异步任务一般由 1~n 个步骤组成,每一个步骤完成一项特定工作。当步骤失败时,该异步任务将停止继续往下运行,直到问题被消除再重试或取消执行。