surreal-sync

🔄 多源数据迁移与实时同步利器

SurrealDB官方数据迁移工具,支持7种数据源的全量与CDC增量同步,基于Rust高性能实现。

收藏
3.4k
安装
1.1k
版本
1.0.6
CLS 安全扫描中
预计需要 3 分钟...

使用说明

Surreal-Sync 综合评估

Surreal-Sync 是由 SurrealDB 官方生态(surreal-skills 集合)维护的数据迁移 CLI 工具,专用于将异构数据源高效同步至 SurrealDB 图数据库。

核心用法

采用 surreal-sync from <SOURCE> <COMMAND> 的统一 CLI 范式,支持 MongoDB、PostgreSQL(触发器/wal2json 双模式)、MySQL、Neo4j、JSONL 文件、Apache Kafka 共 7 种数据源。提供 全量同步(Full Sync)增量 CDC(Change Data Capture) 两种模式:CDC 实现涵盖 MongoDB Change Streams、PG/MySQL 触发器+序列检查点、PG wal2json 逻辑复制、Neo4j 时间戳追踪及 Kafka 消费者去重。

显著优点

  • 多源覆盖广:关系型、文档型、图数据库、消息队列、文件格式一站式支持
  • 自动化程度高:自动推断源库 schema 并创建 SurrealDB 表结构,自动映射主键为 Record ID,自动提取关系生成图边
  • 生产级特性:可恢复断点续传(checkpoint tracking)、可配置批大小与并行度、Kafka 消费端内置去重
  • 性能与可靠性:Rust 原生编译,资源占用低;CDC 机制成熟(wal2json 为 PG 官方推荐方案)

潜在局限

  • 依赖特定插件:PostgreSQL CDC 需预装 wal2json 或配置触发器,增加运维复杂度
  • 版本锁定风险:作为 surreal-skills 子模块,版本迭代可能与 SurrealDB 主版本强耦合
  • Neo4j CDC 精度:基于时间戳追踪存在边界条件遗漏风险,非原生变更流机制
  • JSONL 无 CDC:仅支持全量批量导入,无实时同步能力

适合人群

  • 计划从 MongoDB/关系型数据库向 SurrealDB 迁移的团队
  • 需要构建实时数据管道(Lambda 架构)的架构师
  • 已有 Kafka 生态,希望将事件流持久化到 SurrealDB 的工程师

常规风险

  • 数据一致性:CDC 延迟期间源库更新可能丢失,需配合幂等写入或补偿机制
  • Schema 漂移:自动推断的 schema 可能无法覆盖业务后期变更,需监控同步健康状态
  • 权限暴露:CLI 需明文传递数据库密码,生产环境建议配合密钥管理服务(如 Vault)
  • 网络中断:长连接 CDC 会话需配置合理的超时重试与断线恢复策略

---
来源:上游仓库 surrealdb/surreal-sync(commit 8166b2b

surreal-sync 内容

手动下载zip · 1.6 kB
SKILL.mdtext/markdown
请选择文件