开源全能数据迁移工具!用Rust实现异构数据库高速同步

MySQL数据库数据迁移与工具

前言

去年年底在Github关注几个Rust开源的数据处理框架,今天又顺带着去看了看,维护比较积极的基本每几个了,我其实一直想找个能替代flink cdc的开源项目,实在不想就为了同步个数据,引个flink集群进来。不要说flink很简单,搞个生产级的集群,维护起来也相当麻烦,所以在开源届各种找,目前看比较合适的是risingwave, 但是有一点遗憾不支持tidb cdc,通过ffi调了java的接口,这个体验相当不佳,安装还得单独搞个JVM,实在想不通主导的大佬咋想的。dozer这个项目从我关注后就没再更新了,看来是G了。extractous我也曾满怀期待能更新,结果也没下文了。最后又看了看ape-dts,还是有点遗憾,不支持集群,不支持tidbcdc,最终还是无法实现替代现有架构。没有flink CDC那么成熟和完善,支持多一个少一个其实已经没有区别了,更没有理由把一个成熟的框架换下来。

这篇文章着重介绍下ape-dts。作为一个样例。万一以后这项目发达了呢。

此项目为云猿生数据旗下的开源项目,创始人曹伟,可能只说名字没有什么印象,PolarDB是不是更耳熟能详,曹伟是PolarDB的创始人,本着对大佬的敬意,带大家看看此项目的特色。

在数据库运维、跨云迁移、实时数仓等场景中,如何实现高效、稳定的数据同步一直是技术团队的痛点。今天,我们向开发者推荐一款由Rust语言编写的开源工具ape-dts (Ape Data Transfer Suite)。它支持MySQL、PostgreSQL、Redis等主流数据库的全场景迁移,具备秒级断点续传、异构数据校验、无第三方依赖 等特性,性能较传统工具提升10倍以上!


一、ape-dts核心功能速览

全场景数据迁移支持

  • • 支持MySQL、PG、MongoDB、Redis等数据库的 同构/异构迁移 ,覆盖Kafka、StarRocks、ClickHouse等大数据生态。
  • • 同时支持 全量快照(Snapshot) 增量同步(CDC) ,满足业务零停机迁移需求。

高性能与稳定性

  • • 基于Rust语言的高并发特性,实现 TB级数据秒级延迟
  • • 独创 并行化算法 ,针对不同源端/目标端自动优化传输效率。

数据一致性保障

  • 自动校验与修复 :内置数据一致性检查工具,支持差异数据自动修正。
  • 断点续传 :任务中断后可从最新位点恢复,避免重复传输。

灵活路由与过滤

  • • 支持库/表/列级别的数据过滤,可按规则路由到不同目标端。
  • • 允许嵌入 Lua脚本 实时处理数据流(如脱敏、格式转换)。

开箱即用,轻量化部署

  • • 无需依赖Kafka、ZooKeeper等中间件,单二进制文件即可运行。
  • • 提供HTTP Server模式,可通过任意语言客户端消费数据流。

二、技术亮点:为什么选择ape-dts?

  • Rust语言加持 :无GC、内存安全、零成本抽象等特性,保障工具在高并发场景下的极致性能与稳定性。
  • 全链路无锁设计 :从数据读取、处理到写入全程异步流水线,避免线程阻塞。
  • 智能路由引擎 :针对MySQL、PG等不同协议深度优化,自动选择最优传输策略。
  • 企业级功能 :数据加密传输、任务监控API、Prometheus指标暴露等,满足生产需求。

三、适用场景

跨云数据库迁移

快速完成阿里云RDS到AWS Aurora的异构迁移,避免厂商锁定。 2. 2. 实时数仓同步

将MySQL业务表实时同步至StarRocks/ClickHouse,支撑亚秒级OLAP查询。 3. 3. 容灾与多活

MySQL到TiDB的双向CDC同步,构建跨地域多活架构。 4. 4. Redis数据治理

集群数据按规则过滤后同步至新实例,实现冷热分离。


四、快速体验


 
 
 
 
   
docker run -d --name some-mysql-1 \  
--platform linux/x86\_64 \  
-it \  
-p 3307:3306 -e MYSQL\_ROOT\_PASSWORD="123456" \  
 "$MYSQL\_IMAGE" --lower\_case\_table\_names=1 --character-set-server=utf8 --collation-server=utf8\_general\_ci \  
 --datadir=/var/lib/mysql \  
 --user=mysql \  
 --server\_id=1 \  
 --log\_bin=/var/lib/mysql/mysql-bin.log \  
 --max\_binlog\_size=100M \  
 --gtid\_mode=ON \  
 --enforce\_gtid\_consistency=ON \  
 --binlog\_format=ROW \  
 --sql\_mode=NO\_ENGINE\_SUBSTITUTION \  
 --default\_time\_zone=+08:00

结语

ape-dts以轻量化、高效率、全兼容 的特性重新定义了数据迁移工具的标准。无论是开发者的本地测试环境,还是企业级生产系统,它都能以“零依赖”的方式轻松集成。项目已在GitHub开源,欢迎开发者参与共建!

立即体验

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
融合开放,新一代边缘云网络平台 | 第 11 期边缘云主题Meetup
《融合开放,新一代边缘云网络平台 》李冰|火山引擎边缘云网络产品负责人
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论