Skip to content
adapters.io

Change data capture tools compared: 12 CDC tools and change data capture software

Twelve tools lined up by the thing that actually decides the project: how each one detects a change. Log-based CDC reads the write-ahead log and costs you replication slots and log retention. Query-based sync reads a watermark column and costs you nothing but latency. This page shows which tool does which, what you must turn on in Postgres, MySQL, SQL Server, Oracle and MongoDB, and where a flat-price platform is the wrong answer.

Try the live demo

Field mapping auto-plugged · tap a port to rewire

5 sample records ready

Engine behavior verified against vendor docs, August 2026 · Last updated August 2026

Which change data capture tool should you use?

Pick by method first and vendor second. If you need sub-minute latency, hard deletes and a real event stream, use log-based CDC: Debezium if you run Kafka, Confluent Cloud or Estuary Flow if you want the same semantics managed, AWS DMS inside AWS, Google Datastream into BigQuery, and Striim, Qlik Replicate or Oracle GoldenGate for Oracle and SAP estates. If the destination is a warehouse and you want breadth over control, Fivetran and Airbyte are the defaults, and the Snowflake ETL tools page narrows that shortlist if Snowflake is where the changes are landing. When both ends are PostgreSQL, skip this category altogether and use Postgres logical replication, which is native, free and already installed. If minute-level or hourly freshness is genuinely enough, skip log-based CDC entirely and run scheduled incremental extraction on a watermark column, which is what Adapters does for a flat $49 to $399 a month.

The expensive mistake in this category is buying real-time when the business needs current-by-9am. Log-based CDC is not free: it adds privileges, log retention rules, replication slots and a capture process that can stall and take a production disk with it. If you are still deciding on the wider pipeline shape, the difference between ETL and ELT is the other half of this decision, and the ETL tools page covers the load side.

Change data capture tools compared

Pricing models, not price tags. Half of this list is quote-only and every published number moves, so the billing model is the honest comparison. The one set of real prices here is ours.

Comparison of 12 change data capture tools by CDC method, sources, destinations, pricing model and best fit
Tool CDC method Sources Delivers to Pricing model Best for
Debezium Log-based MySQL, PostgreSQL, MongoDB, SQL Server, Oracle, Db2, Cassandra, Informix Kafka, Pulsar, Kinesis, or embedded in your app Open source, Apache 2.0; you pay for infrastructure and people Engineering teams that already run Kafka and want full control of the stream
Fivetran Log-based plus API extraction Databases plus a very large managed SaaS catalog Snowflake, BigQuery, Redshift, Databricks and other warehouses Monthly active rows, plus a base charge per connection Warehouse teams that want breadth and can absorb a usage meter
Airbyte Log-based for databases, API for SaaS Large connector catalog, community and certified tiers Warehouses, lakes, object storage, some reverse destinations Open source self-hosted, or Cloud billed by credits Teams that want connector breadth with an escape hatch to self-host
AWS DMS Log-based ongoing replication Most commercial and open source engines, on-premise or RDS RDS, Aurora, Redshift, S3, Kinesis, OpenSearch Pay for the replication instance and storage you run AWS-native migrations and continuous replication inside one account
Google Datastream Log-based serverless CDC MySQL, PostgreSQL, Oracle, SQL Server BigQuery and Cloud Storage Usage based on data processed Shops standardized on BigQuery that want no replication servers
Estuary Flow Streaming log-based CDC Databases plus SaaS, with concurrent backfills Warehouses, lakes and Kafka-compatible consumers Usage based, by connector and data volume Streaming-first pipelines without operating Kafka yourself
Striim Log-based with in-flight stream processing Oracle, SQL Server, SAP HANA, PostgreSQL, MySQL and more Warehouses, messaging, applications Enterprise subscription, quote only Oracle and SAP estates that need transformation inside the stream
Qlik Replicate Log-based, agentless Broad enterprise coverage including mainframe sources Warehouses, lakes, Kafka Enterprise subscription, quote only Governance-heavy replication programs across mixed legacy estates
Oracle GoldenGate Log-based, heterogeneous Oracle first, plus other major engines Oracle and non-Oracle targets, including cloud Oracle licensing, per processor or cloud service Oracle-centric shops with zero-downtime and HA requirements
Confluent Cloud Managed Debezium-based connectors MySQL, PostgreSQL, SQL Server, Oracle, MongoDB Kafka topics, then anything downstream of Kafka Usage based across cluster, connector and throughput Teams that want Debezium semantics without running Kafka Connect
Hevo Data Log-based for databases, API for SaaS Databases plus a wide SaaS catalog Warehouses and a small set of operational targets Tiered plans metered by events Smaller teams that want a managed pipeline with a self-serve start
Adapters Scheduled incremental extraction, watermark and log-aware Postgres, MySQL, SQL Server plus Stripe, Shopify, Salesforce, NetSuite and more Snowflake, BigQuery, Redshift, Postgres and business applications Flat monthly tiers, $49 to $399, with record allowances Ops, finance and data teams that want minute-level sync on a fixed bill

Vendor terms change. Confirm current pricing and connector coverage with each vendor before you buy. Adapters' own prices are public on the pricing page: Starter $49, Growth $149, Scale $399, Enterprise custom.

The four ways a tool can detect a change

Every product in the table above is one of these four techniques with a control plane around it. Choose the technique your latency requirement actually needs, then shortlist the vendors that implement it.

Comparison of log-based, trigger-based, query-based and snapshot change data capture methods
Method How it detects change Latency Load on source Catches deletes Cost to run
Log-based CDC Reads the write-ahead log, binary log or transaction log the database already writes Seconds to minutes Very low; no queries against your tables Yes, including hard deletes Highest setup cost: privileges, log retention, replication slots
Trigger-based CDC Database triggers write every change into a shadow audit table Seconds High; every write does extra work inside the transaction Yes Moderate setup, ongoing write penalty, schema maintenance forever
Query-based, timestamp or watermark Polls for rows where updated_at or a sequence is greater than the last run Minutes to hours, whatever the schedule is Moderate; needs an index on the watermark column No, unless the application soft-deletes Lowest setup cost, works on any database, no special privileges
Full snapshot and diff Re-reads the whole table and compares it with the last copy Hours Highest; a full table scan every run Yes, by absence Trivial to build, stops scaling somewhere around a few million rows

Rule 01

Deletes decide it

A watermark query cannot see a row that no longer exists. If your source hard-deletes and your reports have to match, you need log-based CDC or a periodic reconciliation pass. This single question eliminates half the shortlist in most projects.

Rule 02

Latency is a business number

Write down who is waiting for the data and how long they can wait. Fraud scoring needs seconds. A finance dashboard needs the number to be right at 9am. Those are different products at very different prices, and teams routinely buy the first when they needed the second.

Rule 03

Somebody owns the slot

Log-based CDC creates a persistent object on your production database that retains log files until a consumer reads them. That is an operational responsibility with a pager attached. Ask who holds it before the pilot, not after the first disk alert.

What you have to turn on, database by database

CDC is not a feature you buy, it is a feature you enable on the source and then consume. Every row below was checked against the vendor's own documentation in August 2026. The last column is the part that surprises people in week three.

Change data capture requirements and gotchas for PostgreSQL, Amazon RDS, MySQL, SQL Server, Oracle and MongoDB
Database Mechanism What you enable Verified detail Main gotcha
PostgreSQL Logical decoding over the write-ahead log wal_level = logical, a publication, and a logical replication slot max_replication_slots and max_wal_senders both default to 10 max_slot_wal_keep_size defaults to -1, so a slot may retain unlimited WAL
Amazon RDS for PostgreSQL Same logical decoding, exposed through RDS parameters Set the static parameter rds.logical_replication to 1, then reboot RDS ships the test_decoding and wal2json output plugins; you need the rds_replication role AWS warns that a slot nobody reads from can quickly fill instance storage
MySQL Row-format binary log Binary logging on, ROW format, full row images, a replication user In MySQL 8.4 binlog_format defaults to ROW and binlog_row_image defaults to full binlog_expire_logs_seconds defaults to 2592000, so logs vanish after 30 days
SQL Server Native CDC capture job reading the transaction log via sp_replcmds Enable CDC per database and per table; SQL Server Agent must be running Capture scans up to 1,000 transactions per cycle with a 5 second wait; cleanup runs daily at 2 AM and retains 4,320 minutes With CDC on, the log truncation point will not advance until capture has read the changes, even in SIMPLE recovery
Oracle Redo log mining through LogMiner or XStream Supplemental logging, archivelog mode, and a mining privilege set Debezium supports both the LogMiner and XStream adapters XStream requires a GoldenGate license, which changes the economics of the project
MongoDB Change streams built on the replica set oplog A replica set or sharded cluster, plus read privileges on the oplog Resume tokens let a consumer restart where it stopped If the oplog rolls over past your resume token, you have to snapshot again

Two of those gotchas are the ones that page people at night. In PostgreSQL, a replication slot holds write-ahead log files until the consumer confirms it has read them, and because max_slot_wal_keep_size defaults to -1 there is no ceiling on how much it will hold. Stop the consumer on a Friday and the pg_wal directory grows all weekend. In SQL Server, enabling CDC means the log truncation point will not advance until the capture process has gathered the changes, even in SIMPLE recovery, so a stalled capture job fills the disk on the production instance and a manual CHECKPOINT will not save you. Both failures look like a storage incident, not a pipeline incident, which is why they get found late. The per-database walkthrough for Postgres, including the RDS parameters and the plugins Amazon actually ships, is in the guide on Postgres change data capture.

Where Adapters is the wrong tool

We sell scheduled incremental sync on a flat bill. That is a genuinely different product from a streaming CDC platform, and there are five jobs where you should buy something else.

  • You need sub-second latency. Fraud scoring, live inventory and operational alerting want a stream, not a schedule. Debezium, Confluent Cloud or Estuary Flow are the right shape for that, and no amount of tightening a schedule gets you there.

  • Your source is Oracle, Db2, SAP HANA or a mainframe. We do not read those logs. Oracle GoldenGate, Qlik Replicate and Striim have spent years on exactly that problem and they will do it better than anyone new to it.

  • You need hundreds of obscure SaaS sources. Fivetran and Airbyte maintain catalogs far larger than ours. If the requirement is one platform for every long-tail API in the company, connector breadth beats flat pricing.

  • You already run Kafka and want to own the stream. Debezium is free, Apache 2.0, and gives you the raw change events with before and after images. If you have the platform team, self-hosting is cheaper and more flexible than any managed product.

  • The whole job is one nightly warehouse load at low volume. If a free tier or a cheap usage plan covers you and the bill never moves, a metered vendor can be less expensive than our Starter tier. Flat pricing wins when volume is large or unpredictable, not when it is tiny.

Six questions to ask before you sign

Question 01

Does it catch hard deletes?

Ask for the exact behavior, not a yes. Some tools emit a delete event, some write a soft-delete flag in the destination, and some silently leave the row behind forever.

Question 02

What happens on schema drift?

A new column, a renamed column and a type change are three different events. SQL Server's own CDC ignores columns added after the capture instance was created, which is a real trap.

Question 03

How does the first backfill work?

Historical loads are where usage-billed vendors get expensive and where locking arguments start. Ask whether the snapshot is concurrent with streaming, and what it does to the source.

Question 04

Where does the bill go at 3x volume?

Model a busy month, a resync and a backfill. Row-metered and event-metered plans move fastest, and a resync you did not plan is the invoice nobody budgeted.

Question 05

What does a failure look like?

You want per-record errors, retries with backoff, and an alert that reaches a human. Silent partial success is the failure mode that destroys trust in a pipeline.

Question 06

Who runs it in month six?

Self-hosted CDC has no license cost and a permanent staffing cost. Managed CDC inverts that. Price both honestly, including the engineer who owns the replication slots.

Questions buyers ask about change data capture tools

What are the best change data capture tools?
There is no single best one. Debezium is the standard for self-hosted log-based CDC into Kafka. Fivetran, Airbyte and Google Datastream lead managed database-to-warehouse replication. AWS DMS is the default inside AWS. Striim, Qlik Replicate and Oracle GoldenGate own the Oracle and SAP enterprise tier. Adapters covers scheduled incremental sync when you want a flat bill instead of a meter.
What is change data capture?
Change data capture is a set of techniques for detecting inserts, updates and deletes in a source database and forwarding only those changes to another system. Instead of re-reading the whole table on every run, a CDC tool reads the database transaction log, or a trigger table, or a timestamp column, and moves just the rows that moved.
How do change data capture tools work?
Most read the database write-ahead log directly. PostgreSQL exposes it through logical decoding and a replication slot, MySQL through the binary log, and SQL Server through a capture job that calls sp_replcmds against the transaction log. The tool turns each logged change into an event with a before and after image, then delivers it to a queue, a warehouse or another application.
What is the difference between CDC and ETL?
CDC is how you extract, ETL is the whole pipeline. A traditional ETL job re-reads a table or a date range on a schedule. A CDC-based pipeline subscribes to the change stream so the extract step reads only what changed, which cuts source load and shortens latency. Most CDC products are ETL or ELT tools whose extract step happens to be log-based.
What are the open source change data capture tools?
Debezium is the dominant open source option, licensed Apache 2.0, with source connectors for MySQL, PostgreSQL, MongoDB, SQL Server, Oracle, Db2, Cassandra and Informix, plus incubating connectors for Vitess and Spanner. Airbyte ships an open source edition with log-based CDC for the main databases. Both trade licensing cost for infrastructure you have to run.
Does Postgres support change data capture?
Yes. PostgreSQL has native logical decoding: set wal_level to logical, create a publication, and a replication slot streams every committed change through an output plugin such as pgoutput or wal2json. It is genuine log-based CDC with no triggers. The care point is that an unread slot retains write-ahead log files indefinitely by default.
Is change data capture worth it?
It pays off when the table is large, the source is production, or the destination needs to be current within minutes. It is overkill when a nightly incremental load on an updated_at column already meets the requirement. Log-based CDC adds real operational surface: replication slots, log retention, schema drift and a capture process that can stall.

Working on a specific pair? The database lanes with the most CDC questions attached are Postgres to Snowflake, SQL Server to Snowflake, MySQL to Snowflake and Postgres to BigQuery. For the category above this one, see best data integration tools and the iPaaS platforms comparison, or read what iPaaS means if the requirement is keeping two business applications in agreement rather than loading a warehouse. If you are weighing a build against a purchase, the build versus buy math applies directly to self-hosted Debezium. On AWS that math has shifted, because zero-ETL replicates Aurora, RDS and DynamoDB into the warehouse without a CDC pipeline at all, as Redshift ETL tools sets out. CDC is how changes leave a production database; getting the modeled result back out of the warehouse and into an application is the opposite trip, covered on reverse ETL tools.

Sync your database on a schedule you control

Map the fields once, pick an interval, and let it run with retries, alerts and per-record logs. Flat price from $49 a month, no row meter.

Try the live demo

No credit card required.