The post Palestra DBABrasil 2023 appeared first on DBBITS.
]]>The post Palestra DBABrasil 2023 appeared first on DBBITS.
]]>The post Usando Kafka pra replicar dados do Posgres pro SQL SERVER appeared first on DBBITS.
]]>Os dados estão no centro de qualquer sistema de decisão empresarial de qualquer organização. Você provavelmente ouviu a expressão: “Dados é o novo Petróleo”.
No entanto, nem sempre (na verdade, é raramente) que todos os dados necessários estão localizados em apenas um lugar, como um RDBMS de remos e baunilha. Normalmente está espalhado por diferentes RDBMS e outros silos de dados.
Portanto, não é incomum encontrar situações em que os dados estão em todos os tipos de fontes diferentes e o DBA ou O Engenheiro de Dados precisa implementar um solution que puxa todos os dados relevantes para um local centralizado para análises posteriores.
Imagem 1: As muitas fontes de dados possíveis
Recentemente nos deparamos com um caso em que um cliente tinha dados de vendas em uma instância rds AWS Postgres e precisava que os dados (um conjunto de tables para ser mais preciso) fossem replicados (quase em tempo real) em algumas tabelas em seu Azure VM com MS SQL SERVER. Infelizmente, a replicação heterogênea é marcada como depreciada e só funciona entre SQL SERVER e ORACLE. Não é permitido postgres no lote. Além disso, não há replicação heterogênea nativa no lado dos Postgres. Isso pode ser alcançado on-only com o uso de ferramentas de terceiros ou manualmente no modo de esforço ALTO – criando um MECHANISM CDC (Change Data Capture) usando gatilhos e, em seguida, puxando dados de tabelas de controle. Isso parece certo para implementar, mas o tempo é essencial. Desenvolver tal solução levaria algum tempo.
Portanto, outra solução tinha que ser usada para alcançar o movimento de dados necessário .
Uma possível solução (por que Kafka)
A imagem 1 mostra um cenário possível, mas não mostra a solução como em qual ferramenta poderia ser usada como pipeline. O cenário do Big Data tem muitas ferramentas que talvez pudessem conseguir isso, mas nenhuma delas tinha as vantagens que Kafka oferecia.
Originalmente, o Apache Kafka foi projetado para ser uma fila de mensagens como o aplicativo (lembra-se da IBM MQ Series ou mesmo do SQL SERVER Service Broker?). A melhor definição do que é pode ser citada da Confluent: “Apache Kafka é uma tecnologia de streaming de eventos distribuídos pela comunidade capaz de lidar com trilhões de eventos por dia”. Da mente de um DBA: Bem, o streaming deve ser como uma replicação, mas enorme! Isso é preciso, mas um Sistema de Streaming precisa ter a capacidade de ingerir dados de muitas fontes de dados diferentes e deve ser capaz de entregar suas mensagens em uma variedade de pontos finais de dados também. Poderíamos escolher entre muitas ferramentas para conseguir isso, Azure Event Hubs ou AWS Kinesis ou até mesmo o Kafka gerenciado em Nuvem Confluente. However, para aprender como as coisas funcionam sob o capô e já que todas elas vêm de origens semelhantes (que é o código de código aberto Apache Kafka) ou têm o mesmo objetivo decidimos mostrar ao cliente como configurar o ambiente a partir do zero do solo sem quaisquer Serviços Gerenciados para o processamento do Stream. Então, a imagem anterior seria mais ou menos assim:
Imagem 2: Usando Kafka para lidar com muitas fontes e entregar a mensagem para um (ou muitos) destinos
Como uma breve introdução, os componentes básicos do Apache Kafka são:
Em conclusão, kafka é a ferramenta de escolha para essa tarefa e vamos criar todo o ambiente para a movimentação de dados do zero. Para mais informações, acesse aqui: https://kafka.apache.org/documentation.
A arquitetura
Para alcançar a funcionalidade de Streaming e ver o fluxo de dados em ação, usaremos um conjunto de tabelas do Postgresql DB como fonte, um conjunto de tabelas do SQL SERVER como destino e Apache Kafka agirá como o “mecanismo de replicação”. Para se conectar aos Postgres e detectar suas alterações de dados (CDC), também é necessário um plugin conector. Neste caso, vamos usar o Debezium, pois ele também é de código aberto e construído do zero para trabalhar com Kafka o mais facilmente possível.
Imagem 3: Movendo dados de Postgres para MS SQL em poucas palavras
Mergulhando um pouco mais em detalhes, no final desta série de postagem do Blog devemos ter:
Então nossa arquitetura deve parecer um pouco mais com a Imagem 4.
Imagem 4: Detalhando a arquitetura
Também tenha em mente que, para alcançar o objetivo necessário (replicar dados do Postgres para o SQL SERVER usando Kafka), poderíamos simplesmente usar um produto Kafka-as-a-service em qualquer um dos principais Provedores de Nuvem. No entanto, para entender completamente como a arquitetura funciona e simplesmente como uma vitrine decidimos não usar nenhum produto relacionado ao SaaS, nem Docker nesta série. Você pode encontrar uma nova série no blog this em um futuro próximo que contempla os Serviços de Nuvem. Com as expectativas estabelecidas, estamos prontos para prosseguir…
Sujando as mãos
Vamos começar instalando nosso primeiro VM. Estou usando um PC Windows para fazer todos os meus testes, então estou criando o VM em Hyper-V. Feel livre para usar qualquer hipervisor que você preferir. Minha escolha para OS é Red Hat Developer edição 8.5. Você precisará assinar o Portal do Chapéu Vermelho: https://developers.redhat.com/prod ucts/rhel/visão geral.
Passo 1: Criando a Máquina Virtual
No próximo post vamos instalar e configurar o banco de dados Postgres, criar um pequeno conjunto de dados e instalar o software necessário confluente para o software Apache Kafka funcionar. Então fique ligado para atualizações!
The post Usando Kafka pra replicar dados do Posgres pro SQL SERVER appeared first on DBBITS.
]]>The post Live 01: Migrando Bancos de Dados no SQL SERVER utilizando Always On Availability Groups appeared first on DBBITS.
]]>The post Live 01: Migrando Bancos de Dados no SQL SERVER utilizando Always On Availability Groups appeared first on DBBITS.
]]>
The post SQLSATURDAY Salvador 2020 appeared first on DBBITS.
]]>
The post SQLSATURDAY Joinville 2020 appeared first on DBBITS.
]]>
The post SQL SATURDAY São Paulo 2020 appeared first on DBBITS.
]]>
The post SQL SATURDAY Caxias do Sul 2020 appeared first on DBBITS.
]]>
The post SQL SATURDAY Los Angeles 2020 appeared first on DBBITS.
]]>The post PASS Marathon Portuguese appeared first on DBBITS.
]]>Todas as gravações das sessões estão nessa playlist: https://www.youtube.com/watch?v=AMGARqSFC6Y&list=PLUA82bOFXqrpiXay_K_VjAIl2_V7TqKL_



The post PASS Marathon Portuguese appeared first on DBBITS.
]]>The post Nossos Grupos appeared first on DBBITS.
]]>The post Nossos Grupos appeared first on DBBITS.
]]>