Session

Strangling a Finance Monolith: When CDC Can't Reach Your Data

Debezium and Kafka Connect are the standard way to stream data from legacy databases into Kafka. But what if your data is hidden behind complex views or stored procedures that don’t show up in the redo log and can’t be polled easily, like multi-table joins, aggregations, or computed results?

In this talk, I’ll walk you through how we broke down a large finance Oracle system at a Dutch retailer. I’ll explain where Debezium and JDBC Source Connectors didn’t work for us, how we made things 80 times faster using plain JDBC cursors and Kotlin Sequences, and how we built a bridge so old and new systems could share data both ways.

You’ll see how the transactional outbox pattern helps us get data into Kafka reliably, how we prevented silent data loss when streaming large result sets, and how our bridge lets the old and new systems run side by side until the monolith can be switched off for good.

If your organization has legacy data that CDC can't reach, this talk is for you. You’ll walk away with patterns you can apply immediately.


Target audience: Intermediate-to-advanced Java/Kotlin developers working with legacy systems, event-driven architecture, or monolith migrations.

Preferred format: Technical session (50 minutes).

Based on production experience at a large Dutch enterprise (anonymized). A companion blog post on the cursor streaming pattern is available as follow-up material for attendees.

Technical requirements: standard projector setup, no live coding (prepared code snippets in slides).

Jeroen Rosenberg

Dev of the Ops - Continuous Deliverer - Principal Consultant @ FreshMinds

Amsterdam, The Netherlands

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top