Oracle CDC to Kafka – How it Works

Before going into the various intricacies of how Oracle CDC to Kafka works, an overview of the two components in isolation is necessary to better understand the process.

Oracle CDC (Change Data Capture)

The technology of Oracle CDC is not complex with the software having design patterns for tracking and monitoring changes in the source database. These changes are used for data identification and integration as well as data delivery, thereby increasing the performance of data warehousing activities and boosting the quality and performance of databases.

The most critical ability of Oracle CDC is capturing and preserving the state of the data. Hence, the process is confined to a specific data warehouse environment and can be initiated through any data repository. Oracle CDC can be launched in several ways, from physical storage to application logic either individually or in a combination of system layers.

Then, where is the need for Oracle CDC to Kafka?


An open-source software, Kafka provides a framework for storing, reading, and analyzing streaming data that is essentially free to use. It is designed to run in a “distributed” ecosystem. This means that instead of being located in one specific system, it operates across several servers by leveraging its powerful processing and storage capacities.

Kafka is a massive help for today’s data-driven business environment that increasingly relies on real-time data analysis for faster insights and quicker response times. Traditionally, data processing and transmission have been done in “batches” across networks, the quickness of which has been limited to the pipeline and the speed at which CPUs handle the calculations for reading and transferring information.

However, due to the streamlined way Kafka manages incoming data and its distributed attribute, organizations prefer Oracle CDC to Kafka. The software can run at lightning speeds, monitoring and reacting to millions of changes to a dataset every second. This amounts to streaming data almost in real-time.

Kafka Connect Oracle CDC Source Connector

The role of the Kafka Connect Oracle CDC Source connector is to capture every change to rows in a database. These changes are then represented as change event records in Kafka. Oracle LogMiner is used by the connector to read the redo log of the database. However, to use the connector, a user of a database must have the required permissions to access LogMiner and select from all tables captured by the connector.

The connector can be suitably configured to capture the subset of the tables of a single database. These tables, accessible by a user, should match an include regular expressions. When configured accordingly, the connector can be made to not capture tables that match a exclude regular expression.

Working of Oracle CDC to Kafka

You can achieve Kafka Oracle integration with Oracle CDC to Kafka, a service that works on somewhat similar lines to Kafka. There are two abstractions namely Publishers and Subscribers that are defined in Oracle CDC to Kafka. These capture changes to the database tables and user actions (Publishers) and then provide this data to applications or individuals (Subscribers).

Capturing Change Data Through Oracle CDC to Kafka

There are two ways of doing so.

Synchronous Method

In this mode of Oracle CDC to Kafka, the database is triggered to permit instant capture of changed data immediately after the DML command is executed.

Asynchronous Method

The Asynchronous mode operates when there are no triggers. It reads the data sent to the redo log immediately after the SQL statement that contains the DML operation is committed.

There are two sides to this Asynchronous method.

  • The simpler one in Oracle CDC to Kafka is using the Oracle proprietary GoldenGate tool or any one of Attunity Replicate, Striim, or Dbvisit Replicate for Kafka Oracle integration. However, these tools can be quite expensive.
  • The second one for Oracle CDC to Kafka is using the JDBC connector of Kafka. It facilitates seamless connection with RDBMS like Oracle, SQL Server, MySQL, DB2, and more. A Kafka Connect runtime is required here. Start by configuring the JDBC connector after specifying such parameters as the connection details, the prefix to prepend to table names, and the mode – bulk, incrementing, or timestamp.

The incrementing mode in Oracle CDC to Kafka should be used only to capture new rows and not if attention has to be given to older ones. The timestamp mode is used to identify the time-based detection of new and modified rows.

Streaming Oracle CDC to Kafka in Real Time without Code

The most optimized tools for Oracle CDC to Kafka are automated and complete the process in real-time, delivering real-time data streams to the Kafka platform that include Inserts, Deletes, and Updates in the Oracle database. Log-based CDC to Kafka uses Oracle logs for capturing the changes at the source without impacting in any way the source systems. The network bandwidth usage is kept low and used optimally since only the changed data is loaded. The Oracle Kafka CDC delivers high-quality, reliable, and granular data.

The Attributes of the Best Tool for Oracle CDC to Kafka

Here are some of the features of the best tool for Oracle CDC to Kafka.

  • After the initial one-time load into Topics, the tool should deliver data to Kafka with very low latency using log-based CDC. All changes like insert, update, and delete in the Oracle database are delivered instantly to Kafka.
  • The top tool also gives the highest throughput for Oracle CDC to Kafka with fully configurable parallel extraction and loading. It also transfers data in JSON format to Kafka.

Finally, select a tool for Oracle CDC to Kafka that is user-friendly, has a graphical point-and-click interface, and facilitates automated data flows, alerts, and seamless tracking of data with zero coding.

Click to comment

Leave a Reply

Your email address will not be published.

Most Popular

To Top