Data Movement Patterns

Reference architectures for migration, CDC, and federated query

Migration

Controlled Database Migration

Move data between MySQL, PostgreSQL, and other supported targets with Convert for the initial load and CDC for ongoing changes.

How it works

  • Create a stream in Load mode with source and target connections
  • Schema (tables, keys, indexes, constraints) is converted automatically
  • Data is transferred in parallel with per-table progress
  • After validation, start CDC for ongoing sync if needed

Built-in capabilities

Automatic DDL conversionParallel bulk writesTable-level row countsCustom SQL filtering
Learn more about data migration

Works with cloud targets: AWS RDS, Azure Database, Google Cloud SQL, Supabase, Neon, DigitalOcean, and any PostgreSQL/MySQL-compatible managed database.

Replication

Continuous Log-Based Replication

Replicate operational databases in real time using built-in CDC with per-table ordering, checkpoint resume, and embedded routing.

How it works

  • Source Reader captures committed transactional changes
  • Embedded NATS JetStream brokers events
  • Parallel writers apply changes to targets
  • Checkpoints advance after target write success

Built-in capabilities

Binlog / WAL readersDurable checkpointsPer-table orderingMonitor reliability state

This pattern replaces complex streaming stacks with a single deployable system.

Learn more about CDC replication
Analytics

Database + File Analytics (Federated SQL)

Run analytical queries across databases and object storage without building ETL pipelines.

Join PostgreSQL tables with Parquet files stored in S3 in a single SQL query.

SELECT u.email, o.total
FROM pg.users u
JOIN s3.orders('s3://bucket/orders/*.parquet') o
  ON u.id = o.user_id
WHERE o.total > 100;

Built-in capabilities

Cross-database JOIN supportSQL over CSV, JSON, JSONL, ParquetGlob patterns for object storageDuckDB-powered vectorized execution

Enables ad-hoc analytics across heterogeneous systems instantly.

Learn more about cross-database SQL
Storage

Database to Object Storage Pipelines

Continuously stream operational data into object storage for archival or analytics.

How it works

  • Configure an S3-compatible target (AWS S3, MinIO, etc.)
  • Use Load mode for full exports or CDC for incremental updates
  • Output as Parquet, CSV, or JSON with partitioned file layout
  • Per-table upload progress visible in the stream monitor

Built-in capabilities

Parquet / CSV / JSON outputS3-compatible targetsPer-file upload trackingPartitioned writes

Object storage becomes a live data target — not a manual export destination.

Development

Development & Testing Environment Sync

Create realistic, up-to-date development environments without manual dumps.

How it works

  • Use Load mode with custom SQL to select a data subset
  • Schema is created automatically on the target
  • Re-run the same stream whenever you need a fresh copy
  • Works across database engines (e.g. production MySQL → dev PostgreSQL)

Built-in capabilities

Custom SQL filteringSchema auto-conversionLoad mode snapshotsCross-engine support

Reduces drift between production and development systems.

Schema

Schema Audit & Architecture Review

Understand complex database structures visually before migration or refactoring.

How it works

  • Generate interactive ER diagrams from live schemas
  • Detect junction tables automatically
  • Highlight related tables and dependencies
  • Export diagrams as SVG/PNG/PDF

Built-in capabilities

Interactive ER diagramsDependency detectionSVG / PNG / PDF export

Accelerates migration planning and architectural review.

Learn more about ER diagrams

One Platform. Multiple Patterns.

All of these patterns are enabled by the same core system.

Event Streaming
Parallel Writers
Federated SQL
Observability
Self-Hosted

No separate tools for migration, replication, analytics, and monitoring.

Explore How These Patterns Apply to Your Architecture

Start with a single pattern. Scale to many. One platform handles it all.

Read the Documentation