Community研究&データ分析github.com

24601/surreal-skills

MongoDB、PostgreSQL、MySQL、Neo4j、Kafka、JSONL から SurrealDB へのデータ移行と同期を実現します。フル同期とCDCによる増分同期をサポート。surreal-skillsコレクションの一部です。

surreal-skills とは?

Surreal-Syncは、複数のデータベースソースからSurrealDBへデータを移行・同期するためのCLIツールです。フル同期に加え、Change Data Capture (CDC) を利用した増分同期をサポートしており、MongoDB(Change Streams)、MySQL/PostgreSQL(トリガー型CDC、PostgreSQLではwal2jsonによる論理レプリケーションも可能)、Neo4j(タイムスタンプベース)、JSONLファイル(一括インポート)、Apache Kafka(重複排除付きコンシューマ)など、多様なソースに対応します。自動スキーマ推論、レコードIDマッピング、リレーションシップ抽出、バッチサイズ調整、チェックポイントによる再開可能な同期など、実運用に必要な高度な機能を備えています。このスキルは、Claude CodeなどのAIエージェントエコシステムで利用でき、開発者は自然言語の指示でデータ移行パイプラインを定義・実行できます。完全なドキュメントはsurreal-syncのSKILL.mdとGitHubリポジトリにあります。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/24601/surreal-skills/tree/main/skills/surreal-sync

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Surreal-Sync -- データ移行と同期

Surreal-Sync は、様々なデータベースソースから SurrealDB へのデータ移行を、Change Data Capture (CDC) によるフル同期および増分同期で実現するCLIツールです。

サポートされているソース

ソースフル同期増分CDC方式
MongoDBはいはいChange Streams
MySQLはいはいトリガーベースCDC + シーケンスチェックポイント
PostgreSQL (トリガー)はいはいトリガーベースCDC + シーケンスチェックポイント
PostgreSQL (wal2json)はいはいwal2jsonプラグインによる論理レプリケーション
Neo4jはいはいタイムスタンプベースの追跡
JSONLファイルはい該当なしJSON Linesからの一括インポート
Apache Kafkaはいはい重複排除付きコンシューマサブスクリプション

クイックスタート

# surreal-sync のインストール (Rust バイナリ)
cargo install surreal-sync

# PostgreSQL からのフル同期 (トリガーベース)
surreal-sync from postgres trigger-full \
  --connection-string "postgresql://user:pass@localhost/mydb" \
  --surreal-endpoint "http://localhost:8000" \
  --surreal-username root \
  --surreal-password root \
  --to-namespace prod \
  --to-database main

# PostgreSQL からの増分CDC (wal2json)
surreal-sync from postgres wal2json \
  --connection-string "postgresql://user:pass@localhost/mydb" \
  --surreal-endpoint "http://localhost:8000" \
  --surreal-username root \
  --surreal-password root \
  --to-namespace prod \
  --to-database main

# MongoDB からのフル同期
surreal-sync from mongo full \
  --connection-string "mongodb://localhost:27017/mydb" \
  --surreal-endpoint "http://localhost:8000" \
  --surreal-username root \
  --surreal-password root \
  --to-namespace prod \
  --to-database main

# JSONL からの一括インポート
surreal-sync from jsonl import \
  --file data.jsonl \
  --surreal-endpoint "http://localhost:8000" \
  --surreal-username root \
  --surreal-password root \
  --to-namespace prod \
  --to-database main

# Kafka からの消費
surreal-sync from kafka consume \
  --bootstrap-servers "localhost:9092" \
  --topic my-events \
  --surreal-endpoint "http://localhost:8000" \
  --surreal-username root \
  --surreal-password root \
  --to-namespace prod \
  --to-database main

CLIパターン

surreal-sync from <SOURCE> <COMMAND> \
  --connection-string [CONNECTION STRING] \
  --surreal-endpoint [SURREAL ENDPOINT] \
  --surreal-username [SURREAL USERNAME] \
  --surreal-password [SURREAL PASSWORD] \
  --to-namespace <NS> \
  --to-database <DB>

主な機能

  • 自動スキーマ推論と SurrealDB テーブル作成
  • ソース主キーからのレコードIDマッピング
  • リレーションシップ抽出とグラフエッジ作成
  • 設定可能なバッチサイズと並列処理
  • チェックポイント追跡による再開可能な同期
  • Kafka コンシューマ向け重複排除

完全なドキュメント

完全なガイダンスはメインスキルのルールファイルを参照してください:

Individual skills in this repo

This repo contains 5 individual skills — each has its own dedicated page.

関連スキル