Estuary

How to Evaluate Change Data Capture (CDC) Solutions: Key Considerations for Buyers

Figuring out the correct change data capture (CDC) solution to use can be confusing. Follow these criteria for evaluating CDC tools so you can make the right decision based on your use case and requirements.

Blog post hero image
Share this article
null success story logo
Hayden AI

From Postgres to Analytics: How Hayden AI Powers Data Movement with Estuary.

Read Success Story

To evaluate a CDC solution, compare its capture method, impact on the source database, end-to-end latency, delivery guarantees, backfill and recovery behavior, schema evolution, operational burden, security, and total cost. Then test those capabilities under load, during failures, and through schema changes, not just in a happy-path demo. The biggest differences between CDC vendors often become clear when pipelines fall behind, schemas change, or something breaks.

If you are new to CDC, start with our guide to change data capture. If you are already comparing vendors, see our overview of the best change data capture tools. This guide focuses on the criteria and tests data teams should use to evaluate CDC solutions before choosing one.

Key Takeaways

  • Evaluate CDC solutions across capture method, source-database impact, end-to-end latency, delivery guarantees, backfills and recovery, schema evolution, operations, security, and total cost.

  • Do not evaluate performance from a best-case latency number alone. Test sustained load, traffic bursts, destination slowdowns, backlog recovery, and concurrent backfills.

  • Verify how the platform handles deletes, ordering, retries, checkpoints, and schema changes. These behaviors determine whether downstream data remains correct when something goes wrong.

  • Run a proof of concept that deliberately tests failures, recovery, schema changes, and backfills rather than relying only on a happy-path demo.

  • Evaluate deployment and pricing early. Private networking, BYOC, data residency, connector requirements, and pricing models can disqualify an otherwise capable CDC platform.

What capture method does the tool use?

Start here, because everything else depends on it. A tool that calls itself "CDC" can mean log-based capture, query-based polling, or a hybrid that switches depending on the source. The differences in latency, source load, and delete handling are large enough to disqualify a tool before you look at anything else.

Confirm the tool reads from the transaction log for your specific source: PostgreSQL WAL, MySQL binlog, SQL Server transaction log, Oracle redo logs, MongoDB oplog or change streams. Then confirm whether the tool always uses the log. If a misconfigured connector falls back to polling without telling you, it will surprise you later when latency drifts and source load climbs.

Hayden AI's situation is a good example of why this matters. Their Postgres database is their system of record. They needed CDC that captured changes continuously without adding query load to their production database so they could then perform analytics without worrying about their application performance. Log-based capture from the WAL was a hard requirement, not a preference.

How Fast Does the CDC Pipeline Stay Under Load?

A single latency number is not enough to evaluate CDC performance. What matters is how quickly data reaches the destination under normal load, during traffic spikes, while a backlog is clearing, and when other work such as a backfill is running.

When comparing CDC solutions, evaluate:

  • End-to-end freshness: Measure the time from a transaction committing in the source database to the change becoming available at the destination. Capture latency alone does not account for time spent processing, buffering, or loading data downstream.
  • Latency under sustained and burst traffic: Test normal production volume as well as sudden spikes in writes. Some CDC systems increase batch sizes as backlog grows to improve throughput, which can affect latency.
  • Catch-up performance: Measure how quickly the pipeline clears a backlog after a source burst, destination slowdown, or outage. Low steady-state latency matters less if the pipeline takes hours to recover after falling behind.
  • Backfill impact: Run a historical backfill while new changes continue to arrive and measure whether live replication latency changes. Also check whether the platform provides controls or prioritization to keep current changes flowing while historical data is processed.
  • Destination performance: Test the actual destination you plan to use. A CDC pipeline can capture changes quickly while still being limited by how fast the destination can ingest or apply them.

For a useful comparison, run each CDC solution against the same representative workload and data shape. Measure end-to-end latency over a sustained period and report values such as median and p95 latency rather than a single best result. Repeat the test under steady traffic, burst traffic, and backlog recovery, and record both latency and sustained throughput.

The goal is not simply to find the vendor with the lowest advertised latency. It is to understand whether the CDC pipeline can maintain acceptable data freshness when production conditions become less predictable.

How does the tool handle deletes, ordering, and retries?

These are common production failure modes in CDC pipelines. Capturing changes is the easy part. Delivering them correctly when something goes wrong is what separates a pipeline you can trust from one that silently corrupts data.

When evaluating CDC tools for this, consider these three questions:

  1. Does it capture deletes as first-class events? Some tools only emit inserts and updates, leaving you to model deletes yourself. If your warehouse is going to reflect the source, deletes have to propagate.
  2. Does it preserve per-key ordering? Two updates to the same customer record cannot arrive out of order in the destination. Tools that don't guarantee this will eventually show "shipped" before "ordered" in your analytics.
  3. What happens on retry? At-least-once delivery is the default for most CDC tools, which means duplicates will happen. The question is whether the tool gives you the building blocks (stable event IDs, idempotent upserts, dedupe on log position) to end up with correct state in the destination.

Delivery guarantees can apply at different boundaries, so verify whether they cover capture, internal processing, and the final destination write. Our guide to exactly-once delivery explains these distinctions.

Resend ran into this exact category of problem before switching. Their pipeline relied on backfills to recover from delivery gaps, which were both expensive and unreliable. Replacing that with a CDC system that handled retries and recovery natively turned data movement from a recurring incident into infrastructure they don't have to think about.

How does the tool handle backfills and schema changes?

Backfills aren't edge cases. Backfills occur when you add a new destination, fix a transformation bug, onboard a new analytics use case, or recover from a destination outage. A CDC tool that treats every backfill as a full resnapshot turns routine work into multi-hour incidents.

Look for:

  • Bounded replay: Can the tool replay a defined window without dropping and rebuilding the destination?
  • Selective backfill: Can you backfill one table or one tenant without touching the rest of the pipeline?
  • Schema evolution: What happens when a column is added, renamed, or retyped? The tool should handle additive changes automatically and pause or quarantine on breaking changes, not erratically drop fields.

These capabilities are part of the broader architecture and recovery practices required to implement CDC correctly.

Glossier is a useful example here. As an Estuary customer, they were able to finally connect their ERP's new data endpoint and unlock data that had previously been blocked by the cost of moving it. The unlock wasn't capture. It was that adding a new source and reshaping the pipeline didn't require rebuilding everything downstream.

What does the operational burden actually look like?

Some CDC tools require you to run Kafka, Kafka Connect, and Debezium yourself. Others handle the streaming layer for you. The decision isn't ideological. It's about whether your team's time is better spent operating infrastructure or building on top of it.

A few items to evaluate here:

  • Do you need to run Kafka? If yes, factor in cluster operations, partition management, and the people-cost of keeping it healthy.
  • What's the monitoring story? Can you see freshness lag and backlog per pipeline, or do you have to build that yourself?
  • How does the tool handle failure? Dead-letter queues, error streams, and clear alerts on schema mismatch matter more than they sound like they do.

Shippit chose their CDC tool partly to avoid this exact tradeoff. Running Kafka in-house meant either dedicating engineers to streaming infrastructure or accepting fragility, neither of which fit their team. A managed approach removed that decision entirely.

What Security and Deployment Requirements Does Your Team Have?

A CDC platform can meet your technical requirements and still fail procurement if its deployment model, networking options, or security controls do not match your organization's policies. Evaluate these requirements early, before investing heavily in a proof of concept.

Ask:

  • Where does your data actually flow? Determine whether data must pass through infrastructure operated by the vendor or whether the data plane can run inside your own cloud account or private network.
  • Are private or BYOC deployments available? If your organization requires greater infrastructure control, check whether the CDC platform supports private deployments or bring your own cloud (BYOC) and what the vendor still manages in that model.
  • What private networking options are supported? Check whether you can connect sources and destinations without exposing them to the public internet using technologies such as AWS PrivateLink, GCP Private Service Connect, or equivalent private connectivity.
  • Where can data be processed and stored? Review available clouds and regions, especially if your organization has data residency, sovereignty, latency, or regulatory requirements.
  • What access controls are available? Evaluate capabilities such as RBAC, SSO, encryption, auditability, and how administrative access to infrastructure and data is controlled.
  • What compliance requirements apply? Verify whether the platform's architecture and certifications align with the security and regulatory standards your organization must meet.

Security and deployment requirements are often difficult to change after a CDC architecture is in production. A platform's security and deployment model should therefore be evaluated alongside performance, reliability, and cost, rather than treated as a final procurement check.

Does the pricing model match how you'll actually use it?

Pricing in the CDC space can get confusing. Often a tool that looks affordable in the demo can become expensive once you scale data volume. The two patterns that catch teams off guard are per-row pricing (which punishes you for high-change tables) and pricing that charges more for lower latency (which punishes the real-time use cases CDC is supposed to enable).

Ask the vendor to model your real workload, not a generic example. Then ask what changes if you double the volume, add a second destination, or onboard a new use case. The answer should be predictable.

LOVESPACE compared Estuary to Fivetran and Airbyte specifically on this dimension. Cost efficiency was one of their two stated reasons for the choice, alongside support responsiveness. Cosuno made a similar call: real-time data movement at half the cost of their previous setup, with no incidents since. Shippit framed it more directly: they didn't want to be locked into a system where faster syncs meant higher bills.

CDC Evaluation Checklist: What to Compare Before Choosing a CDC Tool

A good CDC evaluation should go beyond feature lists. Compare how each solution behaves under load, during failures, and as schemas and infrastructure change over time.

Evaluation areaWhat to verifyRed flag
Capture methodLog-based CDC, native change streams, polling, triggers, or another approachThe vendor calls polling "CDC" without clearly explaining how changes are detected
Source impactCPU and I/O usage, snapshot load, WAL or binlog retention, replication slots, and connection requirementsLittle or no guidance on the impact to the source database
Latency and throughputEnd-to-end lag, sustained throughput, burst handling, and catch-up throughput after downtimeOnly broad claims such as "real-time" with no explanation of how latency behaves under load
CorrectnessDelete handling, ordering, retries, duplicates, transaction boundaries, and delivery guaranteesDelivery semantics are unclear or not documented
BackfillsWhether backfills can run alongside streaming, whether selective backfills are supported, and how the initial snapshot hands off to CDCLimited backfill options, or routine recovery requires unnecessarily reloading the entire dataset
Failure and recoveryCheckpointing, connector restarts, source outages, destination downtime, expired logs, and backlog recoveryNo documented recovery path, or common failures require rebuilding the entire pipeline from scratch
Schema evolutionAdd, drop, rename, and type changes, plus alerting, quarantine, and recovery behaviorFields are silently dropped, ignored, or coerced when schemas change
Connector compatibilityExact database versions, managed database services, source modes, and destination support"Supports Postgres" or another database without specifying versions, deployment types, or limitations
OperationsMonitoring, lag alerts, upgrades, scaling, connector maintenance, and infrastructure requirements such as KafkaSignificant infrastructure or operational work is not clear during evaluation
Security and deploymentPrivate networking, BYOC or private deployment options, RBAC, SSO, encryption, and data residency requirementsThe deployment model conflicts with your security or compliance requirements
CostData volume, row or event volume, connector count, compute, infrastructure, egress, and additional destination costsPricing becomes difficult to predict as change volume, connectors, or destinations grow

Use this checklist as a starting point, then validate the most important criteria in a proof of concept. A CDC platform that performs well in a simple demo may behave very differently when a destination falls behind, a schema changes, or a large backfill runs alongside live production traffic.

How to Test a CDC Solution Before Buying It

Most CDC evaluations stop at a simple demo: insert a row, watch it appear downstream, and call it done. That tells you very little about how the platform will behave under real production conditions.

The more important differences show up during schema changes, downstream outages, bursts of writes, backfills, and recovery. Before choosing a CDC platform, run a proof of concept that deliberately tests those scenarios.

1. Insert, update, and delete the same key, then verify the destination

Confirm that the final state is correct and that the delete actually propagated. This is especially important with polling-based approaches, which may not detect hard deletes without an explicit deletion marker.

For log-based CDC, verify that the backfill and streaming paths use the same row identity and preserve the expected ordering of changes.

2. Change the schema while CDC is running

Add a column, change a type, remove a field, and, if appropriate for your test environment, change a primary key.

Verify how the platform handles schema evolution, which changes are handled automatically, which require a backfill or destination-table change, and whether incompatible changes fail visibly rather than silently dropping or coercing data.

3. Take the destination offline for an extended period, then bring it back

Test an outage long enough to create a meaningful backlog.

Confirm that the pipeline resumes from a durable checkpoint, catches up without losing changes, and behaves according to its documented delivery guarantees. If the vendor claims exactly-once delivery, verify that guarantee for your specific destination and configuration.

4. For PostgreSQL, test a mostly idle source

Leave the captured tables mostly idle while writes continue elsewhere in the database.

PostgreSQL logical replication uses replication slots to retain changes needed by consumers, which can lead to WAL accumulation if the replication position does not advance. When evaluating PostgreSQL CDC, ask how the platform handles mostly idle captured tables and whether it uses heartbeat tables, watermark writes, or another mechanism to keep replication progressing.

5. Run a historical backfill while production writes continue

Run a backfill while new changes continue to arrive. Confirm that live changes continue to flow while historical data is being read.

Check whether the platform exposes enough progress or backlog information to understand what the backfill is doing. Also test what happens when you add another destination. Can the platform reuse data it has already captured, or does it have to query the production source again?

Bringing it together

Choosing a CDC solution requires more than comparing connector lists or advertised latency. Evaluate how each platform captures changes, affects the source database, performs under load, preserves correctness, handles backfills and recovery, responds to schema changes, fits your operating model and security requirements, and charges as usage grows.

Once you have narrowed your shortlist, validate those claims with a proof of concept that includes failures, backlog recovery, schema changes, and concurrent backfills. The goal is not to find the tool with the longest feature list, but the one that behaves predictably under the conditions your production pipelines will actually encounter.

If Estuary is on your shortlist, it supports log-based and database-native CDC for sources including PostgreSQL, MySQL, SQL Server, MongoDB, and Oracle, along with historical backfills, multi-destination delivery, managed operations, and private or BYOC deployment options. Estuary pricing is based primarily on data moved and active connector usage, so you can model costs against your expected pipeline configuration and volume.

FAQs

    What should I look for when evaluating a CDC tool?

    Evaluate the capture method, impact on the source database, end-to-end latency and throughput, delivery guarantees, backfill and recovery behavior, schema evolution, connector compatibility, operational burden, security and deployment options, and total cost. Then validate the most important requirements in a proof of concept under realistic production conditions.
    Test more than basic row replication. Insert, update, and delete the same record; change schemas while CDC is running; take the destination offline; restart connectors; run a backfill alongside live changes; generate a write burst; and measure backlog recovery. The goal is to understand how the platform behaves when conditions are less predictable than a standard demo.
    Log-based CDC reads changes from a database's transaction log or native change stream, which can capture inserts, updates, and deletes without repeatedly querying entire source tables. Query-based CDC periodically checks the source for new or changed records. Depending on its design, polling can add query load and may not detect hard deletes unless the source provides a deletion marker or another way to identify removed rows.
    Measure end-to-end freshness from the source transaction commit to the point when the change is available at the destination. Test both steady-state and burst traffic, and measure how quickly the system clears a backlog after an outage or slowdown. Median and p95 latency over a sustained workload are more useful than a single best-case latency number.
    No. Some CDC architectures use Kafka and Kafka Connect as part of the streaming infrastructure, while other platforms provide the streaming and recovery layer as a managed service. The right choice depends on whether your team wants to operate that infrastructure itself.
    Estuary supports log-based or database-native CDC for sources including PostgreSQL, MySQL, SQL Server, MongoDB, and Oracle. It supports continuous streaming alongside historical backfills, checkpointed recovery, schema evolution workflows, multi-destination data movement, and managed or private deployment options without requiring users to operate Kafka infrastructure.

Start streaming your data for free

Build a Pipeline

About the author

Picture of Emily Lucek
Emily LucekDeveloper Advocate / Data Engineer

Emily is an engineer and technical content creator with an interest in developer education. At Estuary, she works with data pipelines for both streaming and batch data and finds satisfaction in transforming a mess of information into usable data. Previous roles familiarized her with FinTech data and working closely with REST APIs.

Streaming Pipelines.
Simple to Deploy.
Simply Priced.
$0.50/GB of data moved + $.14/connector/hour;
50% less than competing ETL/ELT solutions;
<100ms latency on streaming sinks/sources.