CommunityPesquisa e Análise de Dadosgithub.com

24601/surreal-skills

Migração e sincronização de dados para o SurrealDB a partir de MongoDB, PostgreSQL, MySQL, Neo4j, Kafka e JSONL. Sincronização completa e incremental CDC. Parte da coleção surreal-skills.

O que é surreal-skills?

Esta skill fornece a ferramenta de linha de comando Surreal-Sync, projetada para migrar e sincronizar dados de várias fontes de banco de dados para o SurrealDB. Ela suporta sincronização completa e sincronização incremental usando Change Data Capture (CDC) para fontes como MongoDB, MySQL, PostgreSQL (via triggers ou wal2json), Neo4j, Kafka e arquivos JSONL. A ferramenta infere automaticamente esquemas, mapeia IDs de registros a partir de chaves primárias, extrai relacionamentos e permite sincronização retomável com rastreamento de checkpoint. Esta skill é particularmente útil para desenvolvedores que precisam integrar dados existentes com o SurrealDB de forma eficiente e contínua, suportando tanto migrações únicas quanto pipelines de dados em tempo real. Ela é comumente usada em conjunto com ferramentas de agente AI como Claude Code, Cursor e Codex, e está disponível como um binário Rust instalável via `cargo install surreal-sync`.

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

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Surreal-Sync -- Migração e Sincronização de Dados

Surreal-Sync é uma ferramenta CLI para migrar dados de várias fontes de banco de dados para o SurrealDB com sincronização completa e incremental via Change Data Capture (CDC).

Fontes Suportadas

FonteSincronização CompletaCDC IncrementalMétodo
MongoDBSimSimChange streams
MySQLSimSimCDC baseado em triggers + checkpoints de sequência
PostgreSQL (triggers)SimSimCDC baseado em triggers + checkpoints de sequência
PostgreSQL (wal2json)SimSimReplicação lógica com plugin wal2json
Neo4jSimSimRastreamento baseado em timestamp
Arquivos JSONLSimN/AImportação em lote a partir de JSON Lines
Apache KafkaSimSimAssinaturas de consumidor com deduplicação

Início Rápido

# Instalar surreal-sync (binário Rust)
cargo install surreal-sync

# Sincronização completa do PostgreSQL (baseado em triggers)
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

# CDC incremental do PostgreSQL (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

# Sincronização completa do 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

# Importação em lote a partir de 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

# Consumir do 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

Padrão CLI

surreal-sync from <FONTE> <COMANDO> \
  --connection-string [STRING DE CONEXÃO] \
  --surreal-endpoint [ENDPOINT SURREAL] \
  --surreal-username [NOME DE USUÁRIO SURREAL] \
  --surreal-password [SENHA SURREAL] \
  --to-namespace <NS> \
  --to-database <DB>

Principais Recursos

  • Inferência automática de esquema e criação de tabelas SurrealDB
  • Mapeamento de IDs de registros a partir de chaves primárias
  • Extração de relacionamentos e criação de arestas de grafo
  • Tamanhos de lote e paralelismo configuráveis
  • Sincronização retomável com rastreamento de checkpoint
  • Deduplicação para consumidores Kafka

Documentação Completa

Consulte o arquivo de regras principal da skill para orientação completa:

Individual skills in this repo

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

Habilidades Relacionadas