
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.

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:
- 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.
- 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.
- 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 area | What to verify | Red flag |
|---|---|---|
| Capture method | Log-based CDC, native change streams, polling, triggers, or another approach | The vendor calls polling "CDC" without clearly explaining how changes are detected |
| Source impact | CPU and I/O usage, snapshot load, WAL or binlog retention, replication slots, and connection requirements | Little or no guidance on the impact to the source database |
| Latency and throughput | End-to-end lag, sustained throughput, burst handling, and catch-up throughput after downtime | Only broad claims such as "real-time" with no explanation of how latency behaves under load |
| Correctness | Delete handling, ordering, retries, duplicates, transaction boundaries, and delivery guarantees | Delivery semantics are unclear or not documented |
| Backfills | Whether backfills can run alongside streaming, whether selective backfills are supported, and how the initial snapshot hands off to CDC | Limited backfill options, or routine recovery requires unnecessarily reloading the entire dataset |
| Failure and recovery | Checkpointing, connector restarts, source outages, destination downtime, expired logs, and backlog recovery | No documented recovery path, or common failures require rebuilding the entire pipeline from scratch |
| Schema evolution | Add, drop, rename, and type changes, plus alerting, quarantine, and recovery behavior | Fields are silently dropped, ignored, or coerced when schemas change |
| Connector compatibility | Exact database versions, managed database services, source modes, and destination support | "Supports Postgres" or another database without specifying versions, deployment types, or limitations |
| Operations | Monitoring, lag alerts, upgrades, scaling, connector maintenance, and infrastructure requirements such as Kafka | Significant infrastructure or operational work is not clear during evaluation |
| Security and deployment | Private networking, BYOC or private deployment options, RBAC, SSO, encryption, and data residency requirements | The deployment model conflicts with your security or compliance requirements |
| Cost | Data volume, row or event volume, connector count, compute, infrastructure, egress, and additional destination costs | Pricing 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
How should I test a CDC solution before buying it?
What's the difference between log-based CDC and query-based CDC?
How should CDC latency be evaluated?
Do I need Kafka to run CDC?
How does Estuary handle CDC?

About the author
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.




