replicando dados para o kafka com o oracle goldengate › db4 › arquivos › palestras ›...

25
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 Nascimento Engenheiro de Soluções Oracle Brasil 4 de maio de 2019 DBA Brasil 4.0 #DB4BRASIL

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 2: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

DBA Brasil 4.0 - 04 de maio de 2019 2

Page 3: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 4: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 5: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |

Oracle GoldenGateVisão Geral

DBA Brasil 4.0 - 04 de maio de 2019 5

Page 6: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 7: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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)

Page 8: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 9: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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”)

Page 10: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |

DemoGoldenGate: Oracle -> Oracle

DBA Brasil 4.0 - 04 de maio de 2019 10

Page 11: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 12: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019 12

Page 13: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 14: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 15: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 16: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 17: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 18: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 19: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019 19

Page 20: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 21: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 22: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 23: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

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

Page 24: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DBA Brasil 4.0 - 04 de maio de 2019 24

Perguntas

Page 25: Replicando dados para o Kafka com o Oracle GoldenGate › db4 › arquivos › palestras › Murilo... · 2019-05-12 · Big Data, DW, Data Marts Message Bus & Data Grid Data Centers

DBA Brasil 4.0 - 04 de maio de 2019 25