Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019
Replicando dados para o Kafka com o Oracle GoldenGate
Murilo NascimentoEngenheiro de SoluçõesOracle Brasil4 de maio de 2019
DBA Brasil 4.0#DB4BRASIL
DBA Brasil 4.0 - 04 de maio de 2019 2
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
$whoami
DBA Brasil 4.0 - 04 de maio de 2019 3
• Murilo Nascimento
– Snr Solutions Engineer
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Agenda
Oracle GoldenGate
GoldenGate for Big Data e Apache Kafka
Revisão de Configuração
1
2
3
DBA Brasil 4.0 - 04 de maio de 2019 4
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGateVisão Geral
DBA Brasil 4.0 - 04 de maio de 2019 5
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
O que é ?
DBA Brasil 4.0 - 04 de maio de 2019 6
• Solução de Replicação de dados da Oracle
• “Substituto” [$$$] do Oracle Streams
• Não é a mesma coisa que o (Active) Data Guard!
– GG não é Solução de DR (exceto em casos extraordinários!)
– Replicação Lógica, Assíncrona
Captura de dados baseada em log transactional
Diversos modelos de deploy
Integridade Transacional
Heterogêneo
Integração com Java
Oracle GoldenGate
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Pra que serve?
DBA Brasil 4.0 - 04 de maio de 2019 7
Casos de uso
Novo BD/HW/SO/APP
Distribuição de dados
Offload de consultas
Big Data, DW, Data Marts
Message Bus& Data Grid
Data Centers Globais
Streaming de dados
GoldenGate
Databases
Apps
Big Data e NoSQL
Mainframes
Mobile
Streaming & Messaging
Cap
ture
Del
iver
Dis
trib
ute
Re
ceiv
e
Secu
re
Oracle
SQL Server
MySQL
IBM DB2 Z
IBM DB2 i
IBM DB2 LUW
HP NonStop
Informix
Sybase
Messaging
Alta Disponibilidade (HA)
Migração sem paradas
Sincronização de Dados
Ingestão de dados
Query/Report Offloading
Stream
Data Bus (Lambda/Kappa)
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Pra que serve?
DBA Brasil 4.0 - 04 de maio de 2019 8
Casos de uso
Offload de Relatórios/Consultas
Alta Disponibilidade Balanceamento de carga
Hubs Informacionais(Big) Data
WarehousingStreaming
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Como funciona ? – Arquitetura Clássica
DBA Brasil 4.0 - 04 de maio de 2019 9
Bi-Directional
Capture Trail Files Trail Files Delivery
Databases
Apps
Big Data and No SQL
Mainframes
Mobile
Streaming & Messaging
Oracle
SQL Server
MySQL
IBM DB2 Z
IBM DB2 i
IBM DB2 LUW
HP NonStop
Informix
Sybase
Messaging
Binário GoldenGate(“origem”)
Binário GoldenGate(“destino”)
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
DemoGoldenGate: Oracle -> Oracle
DBA Brasil 4.0 - 04 de maio de 2019 10
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Arquitetura de Microserviços [Apenas Oracle]
DBA Brasil 4.0 - 04 de maio de 2019 11
Origem Destino
Trail Files
Extract
ManagerGGSCI
Admin Server
Trail Files
Replicat
Pumps
Distribution Server
Collectors
Receiver Server
SourceDatabase
TargetDatabase
HTTPS RESTFulService InterfacesManagerGGSCI
Admin Server
Metrics Server
Service Manager Service
Manager
Metrics Server
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019 12
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Oracle GoldenGate for Big Data e ApacheVisão geral
DBA Brasil 4.0 - 04 de maio de 2019 13
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
GoldenGate for Big Data
DBA Brasil 4.0 - 04 de maio de 2019 14
(Captura)
ExtractTrail Files Trail Files
Entrega)
Replicat
Java
Handler
Oracle
SQL Server
MySQL
IBM DB2 Z
IBM DB2 i
IBM DB2 LUW
HP NonStop
Informix
Sybase
Messaging
Binário GoldenGate(“origem”)
Binário GoldenGate for Big Data(“destino”)
Hadoop
OthersFiles
Streaming
JMS
NoSQL
Oracle Cloud
ParameterFile
Big DataProperties
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Apache Kafka
• Sistema distribuído baseado nos conceitos de mensageria em modelo “publish-subscribe”
• Armazena mensagens em tópicos que são particionados e replicados entre brokersem um cluster
• Producers/Produtores enviam mensagens aos tópicos [ex.: GoldenGate for Big Data]
• Consumers/Consumidores consomem mensagens dos tópicos
DBA Brasil 4.0 - 04 de maio de 2019 15
https://kafka.apache.org/intro
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
OGG for Big Data + Apache Kafka: Motivação
• Streaming, Streaming, Streaming
• Análise de dados em tempo real
• Processamento de Eventos
• Kafka como um “proxy” do Big Data
DBA Brasil 4.0 - 04 de maio de 2019 16
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
OGG for Big Data + Apache Kafka: Considerações
• Pode escrever mensagens formatadas em XML, JSON e Avro
• Dois modos de replicação
– TX – transactional
– OP – operation (em muitos casos o mais recomendado)
• A replicação pode ser síncrona (pior performance, garantia de entrega) ou assíncrona (default)
• Em geral, a chave das mensagens será a PK da tabela mas pode ser customizada
• O GoldenGate com Kafka trabalha no modelo de entrega “At least once”– Em casos de falhas pode haver duplicação de mensagens
DBA Brasil 4.0 - 04 de maio de 2019 17
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
DemoGoldenGate e GoldenGate for Big Data: Oracle -> Kafka
DBA Brasil 4.0 - 04 de maio de 2019 18
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019 19
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Revisão da Configuração
DBA Brasil 4.0 - 04 de maio de 2019 20
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Revisão da configuração
• Arquivo de Parâmetros do replicat
– Deve apontar para o arquivo de configuração do handler (.props)
– GROUPTRANSOPS é um bom parâmetro para “tunar” a performance
• REPORTCOUNT é uma boa prática– Persiste no log do processo a quantidade de registros processados a cada intervalo
(1 minute no exemplo)
DBA Brasil 4.0 - 04 de maio de 2019 21
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Revisão da configuração
DBA Brasil 4.0 - 04 de maio de 2019 22
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Revisão da configuração
DBA Brasil 4.0 - 04 de maio de 2019 23
• Outras classes de Serialization podem ser usadas
• batch.size / linger.ms: These values are highly dependent upon the use case scenario. Typically, higher values result in better throughput, but latency is increased. Smaller values in these properties reduces latency but overall throughput decreases. If you have a high volume of input data from the source trail files, then set the batch.size and linger.ms size as high as possible
– https://docs.oracle.com/en/middleware/goldengate/big-data/12.3.2.1/gadbd/using-kafka-handler.html#GUID-F3170919-9C2F-4C3A-8D51-CA5500C3B7FF
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019 24
Perguntas
DBA Brasil 4.0 - 04 de maio de 2019 25