CloudCanal:支持多源数据同步迁移的可视化工具
CloudCanal 是一款可视化的数据同步、迁移工具,用于构建数据管道。具备实时同步、断点续传、结构迁移、混合部署、自定义数据处理等能力。
应用场景
数据同步
通过消费源端增量操作日志,准实时在对端重放。支持断点续传、DDL 同步、元数据映射裁剪、自定义代码数据处理、操作过滤、数据条件过滤、高性能对端写入。
数据迁移
将源端数据全量搬迁到目标端。支持顺序分页扫描、并行扫描、批量写入、并行写入、数据条件过滤。通过消费日志方式拉取,对源端影响较小,性能较好。
数据校验和订正
分别取出源端和对端数据逐字段对比,可选择订正差异数据。可单独使用,也可配合迁移或同步任务使用。
结构迁移和同步
将源端结构执行到对端,支持类型转换、数据库方言转换、命名映射。可独立使用,也可作为迁移或同步的前置步骤。
已支持的数据源包括:MySQL、Oracle、PostgreSQL、SQL Server、RDS for MySQL、ElasticSearch、Hive、Kafka、RocketMQ、RDS for PG、ADB for PG、Greenplum、RabbitMQ、TiDB、PolarDB、ClickHouse、PolarDB-X、Redis、Kudu、MongoDB、StarRocks、OceanBase、Doris、SelectDB、SAP Hana、MariaDB、Hudi、Aurora、RedShift、IBM Db2、达梦数据库、高斯数据库、AutoMQ、DocumentDB 等。
系统架构
系统分三个组件:
- Console:集中化管控服务,以 Web 服务集群形式存在。承载产品化功能,包括数据源、机器、任务生命周期管理,容灾调度,监控告警,元数据管理等。
- Sidecar:部署在迁移同步机器上,负责获取任务配置、启停任务进程、收集和上报任务状态、执行健康检查。
- CloudCanal Core:部署在迁移同步机器上,执行具体的数据迁移、同步、校验、订正任务。
Core 内部由三部分组成:
- 数据源插件:各类数据库、消息队列、数据仓库的读写、元数据获取逻辑与驱动。插件通过 Java 类加载机制隔离,任务运行时只加载对应的插件。
- 核心:内核代码骨架、操作过滤、元数据映射、DDL 转换、自定义数据处理。
- 支撑:元数据、任务配置、位点、监控指标及与管控侧交互的逻辑。
产品优势
- 实时高效:同步延迟普遍小于 5 秒,期间完成增量解析、攒批、操作过滤、转换、映射与写入。
- 精确互联:对链路两端的数据类型、结构规范、读写特点做精确匹配,处理不同数据源种类和版本差异。
- 稳定可扩展:内核精简,单进程架构,支持分布式高可用部署。组合不同职能的任务进程,组成大规模分布式数据管道集群。
- 一站式:结构迁移、数据迁移、同步、校验订正、修改订阅等功能通过有限状态机自动流转,覆盖数据准备到长期同步的各阶段。
- 混合部署:支持各公有云与本地机房私有部署,可用于异地、云上云下、多云间的数据安全同步。
- 复杂数据转换:内置元数据映射、裁剪、过滤等标准能力,支持上传业务代码做自定义数据处理。
版本对比
CloudCanal 提供社区版、商业试用版、商业版三种版本,具体功能与授权差异需查阅官方发布说明获取。