SlideShare a Scribd company logo
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Michael Rainey | Oracle OpenWorld 2016
Oracle GoldenGate and Apache Kafka: A Deep Dive Into Real-Time Data Streaming
1
Oracle GoldenGate and Apache Kafka: A Deep Dive Into Real-Time Data Streaming
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Introduction
3
• Michael Rainey - Data Integration Lead 

- Oracle Data Integration expertise
- Blog: http://ritt.md/mRainey
- Oracle ACE Director
@mRainey
info@rittmanmead.com www.rittmanmead.com @rittmanmead
About Rittman Mead
4
•World’s leading specialist partner for technical
excellence, solutions delivery and innovation in
Oracle Data Integration, Business Intelligence,
Analytics and Big Data
•Providing our customers targeted expertise; we are a
company that doesn’t try to do everything… only
what we excel at
•70+ consultants worldwide including 1 Oracle ACE
Director and 2 Oracle ACEs, offering training
courses, global services, and consulting
•Founded on the values of collaboration, learning,
integrity and getting things done
Unlock the potential of your organization’s data
•Comprehensive service portfolio designed to
support the full lifecycle of any analytics solution
info@rittmanmead.com www.rittmanmead.com @rittmanmead 5
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Data Integration Architecture
6
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Data Integration Architecture
6
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Example - Marketing
7
• Financial data stored in RDBMS

• Social media data, web logs, Google analytics, etc all in
various formats

• Bring it all together for analysis 

‣ Marketing campaign effect on sales
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Relational Data Replication - Oracle GoldenGate
8
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Oracle GoldenGate for Big Data (Then)
9
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Oracle GoldenGate for Big Data (Now)
10
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Streaming Data - Apache Kafka
11
“Publish-subscribe messaging rethought as a
distributed commit log”
Image source: kafka.apache.org/
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Streaming Data - Apache Kafka
12
Image source: kafka.apache.org/
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Kafka - How is it used?
13
• Pure Event Streams

• System Metrics

• Derived Streams

• Hadoop Data Loads / Data Publishing

• Application Logs

• Database Changes

- Log Compaction
- Data cleansing
Image source: confluent.io
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Kafka - How is it used?
13
• Pure Event Streams

• System Metrics

• Derived Streams

• Hadoop Data Loads / Data Publishing

• Application Logs

• Database Changes

- Log Compaction
- Data cleansing
Image source: confluent.io
X
O
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Enterprise Data Bus
14
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Enterprise Data Bus
14
info@rittmanmead.com www.rittmanmead.com @rittmanmead
A simple example…
15
One view of the Oracle Data Integrator logs

• ODI session logs - stored in the repository 

database

• ODI Agent logs - text files

To see the full picture of your ODI environment, they must be
combined
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Steps to extract from the database
16
• Prepare the database 

• Setup GoldenGate for Oracle Database

- Install and configure
• Setup Manager, Extract and Pump parameter files

• Add Extract and Pump process groups

• Start the Extract and Pump processes
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Prepare the Database - OGG User Permissions
17
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Prepare the Database - Logging Settings
18
• Enable supplemental logging
• Set GoldenGate Replication parameter
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Add Table Supplemental Logging
19
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate Extract Setup
No change
20
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate Manager Parameter File
21
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate Extract Parameter File
22
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate Pump Parameter File
23
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Adding the Extract and Pump Process Groups
24
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Stream ODI Agent Logs to Kafka via Logstash
25
• Application log processing is a standard use for Kafka

• Logstash

- Part of the Elastic (formerly ELK) stack
- Robin Moffatt’s post—> http://ritt.md/kafka-elk
- Producer configuration for Kafka
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Logstash to Kafka - Setup and Startup
26
• Startup Zookeeper

- Elects controller broker
- Tracks brokers and topic config
- Manages access control and quotas
• Set Kafka server.properties

- Broker ID
- Number of partitions
- Log retention period
- Zookeeper connection
• Start Kafka

info@rittmanmead.com www.rittmanmead.com @rittmanmead
Setup Logstash Configuration File
27
• Configuration File - logstash-odiagent-kafka-producer.conf

• Start Logstash
info@rittmanmead.com www.rittmanmead.com @rittmanmead
ODI Agent Logs to Kafka!
28
• Start the Kafka Console Consumer - delivered with Kafka

• Start the ODI Agent
info@rittmanmead.com www.rittmanmead.com @rittmanmead
ODI Agent Logs to Kafka!
29
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate Transactions to Kafka
30
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Oracle GoldenGate for Big Data
31
• Kafka - one of many handlers

- HDFS, HBase, Flume, Hive
• Pluggable Formatters

- Convert trail file transactions to alternate format
- Avro, delimited text, JSON, XML
• Metadata Provider

- Handles mapping of source to target columns that differ in structure/name
- Similar to SOURCEDEF file in GoldenGate
- Avro or Hive
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Oracle GoldenGate for Big Data - Kafka Handler Setup
32
• Standard GoldenGate Extract / Pump processes

- Remember, no change here
• Replicat for Java parameter file & process group

• Kakfa Handler configuration

• Kafka Producer properties

- Note: Kafka 0.9.0+ now certified with GoldenGate for Big Data
12.2.1.1
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Another approach…
33
• Kafka Connect Handler (Open Source)

- java.net/downloads/oracledi/GoldenGate
- Uses the Kafka Connect framework
- Can integrate with Confluent Platform & Schema Registry
- Tables = Topics
• Differences?

- OGG for Big Data Kafka Handler uses pluggable formatters
- Kafka Connect Handler builds up schemas and structs via the Kafka
Connect API
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Oracle GoldenGate for Big Data - Prerequisites
34
• Zookeeper & Kafka up and running

• Add topic to broker up front vs dynamically

- Option to create a topic per table (OGG for Big Data 12.2.0.1.1)
• Kafka Handler must have access to broker server

• Kafka libraries must match Kafka version
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Kafka topic per table
35
More on this later
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - Replicat Parameters
36
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - Kafka Handler Properties
37
Properties describe how communication between the
GoldenGate adapter and Kafka will occur
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - Kafka Handler Properties
38
• gg.handlerlist = kafkahandler
• gg.handler.kafkahandler.type = kafka
• gg.handler.kafkahandler.KafkaProducerConfigFile = kafka_producer.properties
• gg.handler.kafkahandler.TopicName = odirepo

- Kafka topic name
• gg.handler.kafkahandler.format = xml | delimitedtext | json | avro_row | avro_op

- Pluggable Formatter - Avro recommended for Kafka…
• gg.handler.kafkahandler.BlockingSend = true | false
- true - synchronous (wait for acknowledgement before sending next message)
• gg.handler.kafkahandler.mode = tx | op

- Transaction vs Operation mode
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - Kafka Handler Properties
39
• goldengate.userexit.timestamp = utc

• goldengate.userexit.writers = javawriter

• javawriter.stats.display = TRUE

• javawriter.stats.full = TRUE

• gg.log = log4j

• gg.log.level = INFO

• gg.report.time = 30sec

• gg.classpath = dirprm/:/u01/kafka/kafka_2.10-0.8.2.1/libs/*:

- Location of the Kafka libraries

• javawriter.bootoptions = -Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - One Topic Per Table
40
• gg.handler.kafkahandler.topicPartitioning = table 

- Option to split schema into one topic per table

- Topics can be created dynamically

• gg.handler.kafkahandler.mode = op 

- Operation mode required to track individual table operations
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - Kafka Producer Configuration
41
• Access to the Kafka producer configuration parameters
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka - Startup
42
• Create a topic in Kakfa (or one per table)

• Add Replicat process group to GoldenGate on target

• Start Kafka console consumer

• Start GoldenGate extract/pump on source, replicat on target
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate and Kafka Integration Complete!
43
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Schemas
44
• Schema automatically created 

- Stored in <ogg_home>/dirdef directory
- Based on gg.handler.kafkahandler.format setting
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Schemas
44
• Schema automatically created 

- Stored in <ogg_home>/dirdef directory
- Based on gg.handler.kafkahandler.format setting
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Schemas
44
• Schema automatically created 

- Stored in <ogg_home>/dirdef directory
- Based on gg.handler.kafkahandler.format setting
info@rittmanmead.com www.rittmanmead.com @rittmanmead
GoldenGate Big Data Adapter - What to Think About
45
• GoldenGate might be a single point of failure 

- Kafka is a fault-tolerant, distributed system
• Source transactions may end up larger than expected 

- max.request.size
• Performance considerations

- batch.size and linger.ms
• higher values = increased latency, better throughput
- BlockingSend = false and Mode = tx
- GROUPTRANSOPS
• Monitoring

- Confluent? Custom?
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Why GoldenGate with Kafka?
46
• GoldenGate

- …is non-invasive
- …has checkpoints for recovery
- …moves data quickly
- …is easy to setup
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Data Integration Architecture - Kafka throughout
47
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Questions?
48
info@rittmanmead.com www.rittmanmead.com @rittmanmead
Questions?
49
• Websites

- kafka.apache.org
- rittmanmead.com/blog
• Contact

- info@rittmanmead.com
- michael.rainey@rittmanmead.com
• Twitter

- @rittmanmead
- @apachekafka
- @mRainey

More Related Content

PDF
Introduction SQL Analytics on Lakehouse Architecture
PPTX
Oracle Enterprise Manager Seven Robust Features to Put in Action final
PDF
Awr + 12c performance tuning
PDF
Introduction to Azure Data Lake
PDF
Exadata master series_asm_2020
PDF
An overview of Neo4j Internals
PDF
Analyzing and Interpreting AWR
PPT
Data Lakehouse Symposium | Day 1 | Part 2
Introduction SQL Analytics on Lakehouse Architecture
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Awr + 12c performance tuning
Introduction to Azure Data Lake
Exadata master series_asm_2020
An overview of Neo4j Internals
Analyzing and Interpreting AWR
Data Lakehouse Symposium | Day 1 | Part 2

What's hot (20)

PPTX
HBase in Practice
PPT
Oracle GoldenGate
PPTX
ELK Elasticsearch Logstash and Kibana Stack for Log Management
PDF
The delta architecture
PPT
Informatica session
PPTX
Elastic Stack Introduction
PPTX
Elastic stack Presentation
PDF
Streaming SQL with Apache Calcite
PPTX
Hadoop Interview Questions And Answers Part-1 | Big Data Interview Questions ...
PDF
Dynamic Partition Pruning in Apache Spark
PDF
Change Data Feed in Delta
PDF
Apache Hudi: The Path Forward
PPTX
Hive + Tez: A Performance Deep Dive
PDF
The Apache Spark File Format Ecosystem
PPTX
Digital asset management (dam) systems used in Libraries
PDF
Unified Stream and Batch Processing with Apache Flink
PDF
Oracle RAC 19c and Later - Best Practices #OOWLON
PPTX
ELK Stack
PPTX
DW Migration Webinar-March 2022.pptx
PDF
Cloud-Native Apache Spark Scheduling with YuniKorn Scheduler
HBase in Practice
Oracle GoldenGate
ELK Elasticsearch Logstash and Kibana Stack for Log Management
The delta architecture
Informatica session
Elastic Stack Introduction
Elastic stack Presentation
Streaming SQL with Apache Calcite
Hadoop Interview Questions And Answers Part-1 | Big Data Interview Questions ...
Dynamic Partition Pruning in Apache Spark
Change Data Feed in Delta
Apache Hudi: The Path Forward
Hive + Tez: A Performance Deep Dive
The Apache Spark File Format Ecosystem
Digital asset management (dam) systems used in Libraries
Unified Stream and Batch Processing with Apache Flink
Oracle RAC 19c and Later - Best Practices #OOWLON
ELK Stack
DW Migration Webinar-March 2022.pptx
Cloud-Native Apache Spark Scheduling with YuniKorn Scheduler
Ad

Viewers also liked (20)

PDF
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
PPTX
Go Faster - Remove Inhibitors to Rapid Innovation
PDF
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
PDF
5 Keys to Oracle GoldenGate Implemenations
PPTX
Oracle GoldenGate for Big Data
PDF
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
PDF
Replacing Oracle CDC with Oracle GoldenGate
PDF
Oracle data integrator 12c - getting started
PDF
Real-Time Data Loading from MySQL to Hadoop with New Tungsten Replicator 3.0
PPT
Real-Time Data Replication to Hadoop using GoldenGate 12c Adaptors
PDF
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
PPTX
Dealing with Changed Data in Hadoop
PPTX
Kafka connect-london-meetup-2016
PPTX
Hortonworks Oracle Big Data Integration
PDF
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
PPTX
Data Architectures for Robust Decision Making
PPTX
Kafka for DBAs
PDF
Streaming with Oracle Data Integration
PPTX
Processing Large Data with Apache Spark -- HasGeek
PDF
Dive into Spark Streaming
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Go Faster - Remove Inhibitors to Rapid Innovation
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
5 Keys to Oracle GoldenGate Implemenations
Oracle GoldenGate for Big Data
Oracle GoldenGate Presentation from OTN Virtual Technology Summit - 7/9/14 (PDF)
Replacing Oracle CDC with Oracle GoldenGate
Oracle data integrator 12c - getting started
Real-Time Data Loading from MySQL to Hadoop with New Tungsten Replicator 3.0
Real-Time Data Replication to Hadoop using GoldenGate 12c Adaptors
Oracle GoldenGate and Apache Kafka A Deep Dive Into Real-Time Data Streaming
Dealing with Changed Data in Hadoop
Kafka connect-london-meetup-2016
Hortonworks Oracle Big Data Integration
Data Integration for Big Data (OOW 2016, Co-Presented With Oracle)
Data Architectures for Robust Decision Making
Kafka for DBAs
Streaming with Oracle Data Integration
Processing Large Data with Apache Spark -- HasGeek
Dive into Spark Streaming
Ad

Similar to Oracle GoldenGate and Apache Kafka: A Deep Dive Into Real-Time Data Streaming (20)

PDF
GoldenGate and ODI - A Perfect Match for Real-Time Data Warehousing
PDF
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
PDF
Real-time Data Warehouse Upgrade – Success Stories
PDF
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
PDF
GoldenGate and Oracle Data Integrator - A Perfect Match...
PPTX
OOW19 - HOL5221
PDF
End to-end hadoop development using OBIEE, ODI, Oracle Big Data SQL and Oracl...
PDF
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
PDF
OGG Architecture Performance
PDF
Part 2 - Hadoop Data Loading using Hadoop Tools and ODI12c
PDF
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12c
PDF
Flash session -goldengate--lht1053-lon
PDF
GoldenGate and Stream Processing with Special Guest Rakuten
PDF
Replicate data between environments
PDF
Oracle GoldenGate Architecture Performance
PPTX
Oracle GoldenGate 18c - REST API Examples
PPTX
Hit Refresh with Oracle GoldenGate Microservices
PDF
Oracle goldegate microservice
PDF
Oracle Stream Analytics - Developer Introduction
PDF
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...
GoldenGate and ODI - A Perfect Match for Real-Time Data Warehousing
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Real-time Data Warehouse Upgrade – Success Stories
KScope14 - Real-Time Data Warehouse Upgrade - Success Stories
GoldenGate and Oracle Data Integrator - A Perfect Match...
OOW19 - HOL5221
End to-end hadoop development using OBIEE, ODI, Oracle Big Data SQL and Oracl...
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
OGG Architecture Performance
Part 2 - Hadoop Data Loading using Hadoop Tools and ODI12c
GoldenGate and Oracle Data Integrator - A Perfect Match- Upgrade to 12c
Flash session -goldengate--lht1053-lon
GoldenGate and Stream Processing with Special Guest Rakuten
Replicate data between environments
Oracle GoldenGate Architecture Performance
Oracle GoldenGate 18c - REST API Examples
Hit Refresh with Oracle GoldenGate Microservices
Oracle goldegate microservice
Oracle Stream Analytics - Developer Introduction
No more Big Data Hacking—Time for a Complete ETL Solution with Oracle Data In...

More from Michael Rainey (12)

PDF
Data Warehouse - Incremental Migration to the Cloud
PDF
Continuous Data Replication into Cloud Storage with Oracle GoldenGate
PPTX
SQL on Hadoop for the Oracle Professional
PPTX
Going Serverless - an Introduction to AWS Glue
PDF
Offload, Transform, and Present - the New World of Data Integration
PDF
Oracle Data Integrator 12c - Getting Started
PDF
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration - Coll...
PDF
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
PPTX
Tame Big Data with Oracle Data Integration
PDF
A Picture Can Replace A Thousand Words
PPTX
Data warehouse migration to oracle data integrator 11g
PDF
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
Data Warehouse - Incremental Migration to the Cloud
Continuous Data Replication into Cloud Storage with Oracle GoldenGate
SQL on Hadoop for the Oracle Professional
Going Serverless - an Introduction to AWS Glue
Offload, Transform, and Present - the New World of Data Integration
Oracle Data Integrator 12c - Getting Started
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration - Coll...
Practical Tips for Oracle Business Intelligence Applications 11g Implementations
Tame Big Data with Oracle Data Integration
A Picture Can Replace A Thousand Words
Data warehouse migration to oracle data integrator 11g
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration

Recently uploaded (20)

PPTX
Introduction to Knowledge Engineering Part 1
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PDF
Transcultural that can help you someday.
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPTX
SAP 2 completion done . PRESENTATION.pptx
PPT
Predictive modeling basics in data cleaning process
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
climate analysis of Dhaka ,Banglades.pptx
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
PPTX
Database Infoormation System (DBIS).pptx
PPTX
modul_python (1).pptx for professional and student
PPTX
Computer network topology notes for revision
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
Leprosy and NLEP programme community medicine
PDF
Introduction to the R Programming Language
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
Introduction to Knowledge Engineering Part 1
Acceptance and paychological effects of mandatory extra coach I classes.pptx
Transcultural that can help you someday.
Miokarditis (Inflamasi pada Otot Jantung)
SAP 2 completion done . PRESENTATION.pptx
Predictive modeling basics in data cleaning process
Galatica Smart Energy Infrastructure Startup Pitch Deck
.pdf is not working space design for the following data for the following dat...
climate analysis of Dhaka ,Banglades.pptx
Capcut Pro Crack For PC Latest Version {Fully Unlocked 2025}
Database Infoormation System (DBIS).pptx
modul_python (1).pptx for professional and student
Computer network topology notes for revision
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Leprosy and NLEP programme community medicine
Introduction to the R Programming Language
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
IBA_Chapter_11_Slides_Final_Accessible.pptx

Oracle GoldenGate and Apache Kafka: A Deep Dive Into Real-Time Data Streaming