The CDC pattern was created to make analytical tables reflect operational changes. Today, Iceberg is where those changes are materialized for querying but CDC-powered pipelines into Iceberg are still under adopted.
This is because CDC requires a mutability that is still clunky in Iceberg. Pipelines from Kafka topics to Iceberg tables lead to stale data, metadata bloat, small file proliferation, and delete file explosions that degrade query performance and incur large maintenance overhead.
This talk explores an alternative: using CDC as the foundation for a zero-copy, composable data architecture. Instead of continuously ingesting data into Iceberg via ETL, we compose a queryable view that spans CDC topics in Kafka and post CDC materialised tables in Iceberg.
Data for this view is assembled at query-time, not ahead-of-time, sidestepping a number of the Iceberg issues described above.
In this talk we’ll discuss the advantages of such an approach including: real-time access to fresh data, reduced infrastructure overhead, and simpler data flows as well as the trade-offs including
the impact on edge case query performance.
Finally, we’ll go under the hood with a technical deep dive into how zero-copy CDC actually works: how CDC events are translated to Iceberg
tables, consistency is maintained, and how query engines interact with a cross-system view.
If you’re building Kafka-based data platforms with Iceberg, this session will give you a practical playbook for unlocking real-time analytics with CDC, helping you decide where zero-copy architectures
can simplify your stack, reduce costs, and open up new possibilities.