Change data capture (CDC) is a data integration pattern that captures changes made to data in a source system, such as inserts, updates, deletes and transmitts those changes to downstream systems.
The term Change Data Capture became popular during the rise of data warehousing. Early CDC implementations typically relied on:
last_updated)Today the preferred solution is reading directly from the transaction log.
The benefits:
While CDC is commonly associated with traditional databases, it is more broadly a pattern for capturing, recording, and propagating changes in data over time as that data evolves within a system.
Information has been considered a valuable asset long before the emergence of computers, and its digital representation has been the subject of continuous research for decades.
As data management needs have evolved, different types of data sources have emerged, each providing distinct physical and logical models for representing, storing, and querying information.
In this context, Change Data Capture is the most efficient way to move data from one system to another while preserving formats, conventions, and the semantic meaning of the information, ensuring that changes are propagated consistently and accurately across heterogeneous systems.
Data Integration Patterns: Change Data Capture
Machine-to-Machine Semantics: Vector Databases
LLM Patterns: Retrieval-augmented generation
Debezium
Demo
Takeaways
Vector databases address a new challenge in the age of LLMs: enabling data to be organized and retrieved according to its semantic meaning for use by generative language models.
The semantic meaning is captured by embeddings, a numerical vector representations of data allowing machines to compare and retrieve information based on cenceptual similarity rather than exact matches.
Mathematical transformation that converts unstructured data into a dense vector of numbers in a high-dimensional space.
In most architectures, an application invokes an embedding model, either through a managed embedding service or a self-hosted deployment, to transform input data into vector representations.
Data Integration Patterns: Change Data Capture
Machine-to-Machine Semantics: Vector Databases
LLM Patterns: Retrieval-augmented generation
Debezium
Demo
Takeaways
LLM patterns are reusable architectural solutions that define how Large Language Models interact with:
(RAG) is an architectural pattern that enhances Large Language Models by retrieving relevant external information and using it as context during response generation. The RAG pattern operates in two main steps:
Workflow:
Since ingestion happens offline or continuously in the background and not during query execution, it is often treated as a separate indexing process rather than part of the RAG request flow.
The application ingests a set of documents, processes them, and stores them in a vector database.
RAG leverages embeddings and vector databases to represent and retrieve machine-understandable semantic knowledge, which is then used by LLMs to generate context-aware responses.
In modern AI and data architectures, CDC provides a continuous stream of updates that can be transformed into embeddings and indexed in vector databases, ensuring that semantic representations remain synchronized with the latest state of the underlying data.
Key benefits:
you can find in the wild different architecture for RAG:
Data Integration Patterns: Change Data Capture
Machine-to-Machine Semantics: Vector Databases
LLM Patterns: Retrieval-augmented generation
Debezium
Demo
Takeaways
Debezium is an open-source distributed platform for Change Data Capture (CDC). It streams real-time changes from databases into event-driven systems by monitoring database transaction logs.
Kafka Connect provides the runtime framework, handling connector lifecycle management, fault tolerance, offset storage, and scalability, while Debezium supplies source connectors that read database transaction logs.
Debezium Server is a lightweight, standalone runtime that enables CDC without requiring Apache Kafka.
Debezium offers a wide range of solutions to address CDC in different contexts.
Debezium AI is a set of tools for building data streaming pipelines that support the ingestion phase of RAG architectures using log-based CDC.
FieldToEmbedding Single message transformation (SMT)Debezium offers a built-in feature to transform specified text fields into numerical embeddings vectors, and to add the resulting embeddings to the event record.
The embeddings transformation uses the langchain4j framework.
PyDebeziumAI integrates Debezium CDC streams with LangChain and LangGraph, bringing the capabilities of the Debezium Engine to Python applications via JPype.
Data Integration Patterns: Change Data Capture
Machine-to-Machine Semantics: Vector Databases
LLM Patterns: Retrieval-augmented generation
Debezium
Demo
Takeaways
Data Integration Patterns: Change Data Capture
Machine-to-Machine Semantics: Vector Databases
LLM Patterns: Retrieval-augmented generation
Debezium
Demo
Takeaways
Thank you for the JUG Amsterdam to make this happen, I know how much is difficult to organize meetups and events so again thank you. I promised to Geertjan that my talk is light and fast. So I'll go very quick on the next slide
my name is Giovanni software engineer with 10 years of career and the most important part is that I am Debezium Core contributor. A part from that, I am also contributor for the zig opentelementry sdk and Ticino Software Craft organizer. In the photo my natural form, drinking beers. Ok after this embarrassing moment, let's jump to the main topic of today