Check the conditions
Know what your source can safely expose.
Confirm the reader, access boundary, transaction behavior, schema surface, and recovery objective before you put a pipeline into production.
Move the full starting dataset, stream committed changes, and cut over when the numbers say you are ready, not when the schedule forces you to.
Oracle
SQL Server
PostgreSQL
MySQL
MariaDB
Sybase ASE
PostgreSQL
MySQL
SQL Server
Azure SQL
Oracle
Sybase ASE
Google Cloud Spanner
Fabric Open MirroringMove without the scramble
Your source keeps changing. Your target must catch up. When something falls behind, you need to know where, and what to do next. SQL Flow gives you one path from committed source changes to verified destinations.
Stay live during the move
Load the starting state, stream every committed change after it, and cut over when the target is caught up and verified, not when the clock runs out.
See zero-downtime migration →Keep every consumer useful
Databases, Kafka, Pub/Sub, lakes, and warehouses have different latency and failure budgets. Capture once, then give each sink its own cursor, batching, retries, and lag view.
Explore independent delivery →Get back on track quickly
Durable positions, bounded retries, source-aware capture, and target-aware apply turn an interruption into a short recovery path instead of a full restart.
See resume and recovery →From first copy to final cutover
SQL Flow makes each handoff visible, measurable, and recoverable, from the first source read to the moment you move traffic.
Check the conditions
Confirm the reader, access boundary, transaction behavior, schema surface, and recovery objective before you put a pipeline into production.
Capture once
Use the strongest safe reader for the environment. DirectLog moves decode and assembly off the database host when log files or devices are reachable.
Deliver by target
Keep the captured history durable while each database or event sink advances with the batches, ordering, and error policy it can sustain.
Verify and switch
Separate capture health, delivery lag, rejected records, schema events, and final validation so your team knows when the target is ready.
Performance that starts with evidence
Our self-tuning software is performant and correct out of the box. It balances workers against source, target, and network capacity, de-risking complex projects and slashing migration timelines while keeping full customization available when your environment calls for it.
Every serious migration platform exposes parallel-load settings, and SQL Flow does too. The difference is what happens before anyone turns the knob: SQL Flow profiles the source, target, table sizes, and delivery path, then gives the run a practical starting posture for workers, batches, and bandwidth instead of asking the operator to guess at all three.
It then deals with the bottleneck that simple table parallelism misses. Large tables become bounded slices, independent work moves concurrently, and the run can use worker, memory, batching, bandwidth, and backlog controls where the deployment requires them. Source reads, network transfer, and target ingestion remain visible as measured boundaries. Progress is recorded at the unit of work, so recovery does not mean replaying everything that already finished.
That changes the operator’s job. You start with evidence, watch the real bottleneck, and override only the minimum, if needed at all. Manual control remains available, but every migration no longer has to begin as a tuning project.
Pick the reader that fits
Start with DirectLog when source log files or devices are reachable. If they are not, choose the native stream or connection-based path that fits the privileges and performance budget you can grant.
| Source | Start here | Use this when direct access is not available |
|---|---|---|
| Oracle | DirectLog: continuous binary redo tail | LogMiner: SQL connection with elevated privileges |
| SQL Server and Azure SQL | DirectLog: raw .ldf access without CDC setup | Native CDC or SQL-based polling |
| PostgreSQL | pgoutput logical replication stream | The same mode where logical replication is available |
| MySQL | Row-based binlog replication | The same mode where the row binlog is available |
| Sybase ASE | DirectLog: raw log-device access | Reconstruction through dbcc log or page reads over TDS |
Know before you cut over
A connected source is not the finish line. SQL Flow shows what was committed, what was captured, what each sink acknowledged, and what still needs validation.
orders2.4B rows
TargetBulk ingest Keep row movement near the systems that own it. The control plane coordinates intent and health; agents move the data.
Pause a destination, add a consumer, or recover a failed target without replaying the source or stopping healthy sinks.
Name the source position, delivery boundary, schema behavior, validation method, and remaining limits before calling the job complete.
Ready for production realities
Agents run near the source and destination, resolve secrets locally, and send row data directly to its destination. The control plane carries intent, health, and audit, not your row stream.
Agents initiate control traffic, so restrictive network boundaries stay explicit instead of becoming a hidden dependency.
When a broker is needed, it exposes only the allowlisted read operations required to inspect log bytes.
Use the web experience, CLI, and API against the same pipeline intent, validation, lifecycle, and audit model.
The practical details
Burst Load moves a full dataset once with parallel, resumable bulk movement. Change Data Capture keeps a target current by applying committed inserts, updates, and deletes. SQL Flow can run either capability independently or coordinate a parallel seed with a pinned CDC handoff.
The shared SQL Flow catalog currently presents 49 source and target engines, including operational databases, cloud warehouses, lakes, and file formats. The exact source and target capabilities are shown on the supported databases page.
SQL Flow captures from Oracle, SQL Server and Azure SQL, PostgreSQL, MySQL, and Sybase ASE. DirectLog is the high-performance choice when source files or devices are reachable. Native streams and SQL-based readers cover environments with different access constraints.
Nothing is installed inside the database. The agent runs on nearby or separate compute. PostgreSQL pgoutput, MySQL binlog, SQL Server native CDC, Oracle LogMiner, and Sybase reconstruction use database or replication connections. DirectLog can leave only a tiny read-only broker beside the source while decode and apply run elsewhere. Managed-cloud availability still depends on what each provider exposes.
Every read has a cost, but the cost changes by mode. Direct file and device readers move parsing, transaction assembly, spooling, and apply off the database engine, though log reads still consume storage or network I/O. PostgreSQL and MySQL use native push streams. SQL mining and polling ask the source to do more work, with Oracle LogMiner as the clearest example. Choose the mode against the source’s actual performance budget.
Yes. Burst Load slices tables across parallel workers and can distribute work across agent machines. CDC can run multiple source pipelines and fan one captured stream out to multiple sinks. Every sink advances on an independent durable cursor, so one paused destination does not pause the others.
The agent runs in infrastructure you control on Windows or Linux. It initiates control traffic outbound, resolves connection secrets locally, and sends captured rows directly to your destinations. The control plane does not connect to your databases or receive the row stream. TLS is required by default for control traffic unless an operator deliberately enables an insecure development posture.
Eleven shipped sink connectors: PostgreSQL, MySQL, SQL Server, Azure SQL, Oracle, Sybase ASE, CockroachDB, Google Cloud Spanner, Apache Kafka, Google Pub/Sub, and Microsoft Fabric Open Mirroring.
Start with what the hosting model can expose. If logs are reachable, evaluate DirectLog first for high-performance off-box parsing. If they are not, compare the native stream or SQL-based reader by source work, required privileges, before-image behavior, schema scope, and measured throughput boundary.
Share your source, destination, access boundary, and cutover goal. We will map the strongest reader, delivery path, and evidence to collect.
SQL Flow handles automatically
You choose