EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Sincronize seu aplicativo móvel com o MongoDB Atlas e o Google Cloud MySQL

Timothy Marland6 min read • Published Feb 08, 2024 • Updated Feb 08, 2024
Google cloudMóvelKafkaAtlas
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Empresas de todo o mundo estão procurando modernizar seus aplicativos existentes. Eles precisam de uma maneira simplificada de sincronizar dados de dispositivos no Edge em seus armazenamentos de dados na nuvem. Quer seus objetivos sejam o crescimento dos negócios ou afastar a concorrência, a modernização de aplicativos é o principal veículo que os ajudará a chegar lá.
Muitas vezes, a primeira etapa desse processo é mover dados de um repositório de relational database existente (como Oracle, SQL Server, DB2 ou Postgres, por exemplo) para um banco de dados flexível baseado em JSON na cloud (como MongoDB, Airpike , Couchbase, Cassadra ou DocumentDB). Parece simples, certo? Digo, realmente, se o JSON (NoSQL) é tão simples e flexível, por que a migração de dados seria difícil? Deve haver um monte de ferramentas automatizadas para facilitar essa migração de dados, certo?
Infelizmente, as respostas são "Not really, "Because data synchronization is rarely simple, " e "The available tools are often DIY-based and don’t provide nearly the level of automation required to facilitate an ongoing, large-scale, production-quality, conflict-resolved data synchronization. "

Por que isso é tão complexo?

Modelagem de dados

Um dos primeiros desafios é a modelagem de dados. Para aproveitar com eficácia os benefícios inerentes a um esquema baseado em JSON, você precisa incluir a modelagem de dados como parte de sua estratégia de migração. Simplesmente nivelar ou desnormalizar um esquema relacional em estruturas JSON aninhadas ou, pior ainda, simplesmente passar do relacional para o JSON sem qualquer consideração de modelagem de dados, resulta em um repositório de dados JSON lento, ineficiente e difícil de consultar. Você precisa de uma plataforma inteligentes de modelagem de dados que crie automaticamente as estruturas JSON mais eficazes com base nas necessidades do seu aplicativo e no repositório JSON de destino, sem exigir recursos especializados, como Cientistas e engenheiros de dados.

Criar e monitorar pipelines

Depois de mapear os dados, você precisa de ferramentas que permitam criar pipelines de dados confiáveis e escaláveis para mover os dados da origem para o repositório de destino. Infelizmente, a maioria das ferramentas disponíveis atualmente são basicamente ferramentas de script DIY que exigem codificação personalizada (geralmente complexa) para transformar os dados no novo esquema adequadamente e monitoramento personalizado (geralmente complexo) para garantir que os novos pipelines de dados funcionem de forma confiável. Você precisa de uma plataforma de automação e monitoramento de pipeline de dados para mover os dados e garantir sua qualidade.

O DIY é difícil

Esse processo de sincronização de dados, automação de pipeline e monitoramento é onde a maioria dos projetos de modernização de aplicativos fica obsoleta e/ou falha. Esses projetos fracassados geralmente consomem recursos significativos antes de fracassarem, além de afetar a funcionalidade e os resultados gerais do negócio e levar à perda de objetivos.

CDC: MongoDB Atlas, Atlas Device Sync e Dataworkz

A sincronização de dados entre dispositivos de borda e vários bancos de dados pode ser complexa. Simplificar esse é o nosso objetivo, e demonstraremos como obter a sincronização bidirecional entre dispositivos móveis no MySQL na nuvem usando o MongoDB Atlas Device Sync e o Dataworkz.
Vamos nessa!

Pré-requisitos

  • Contas com MongoDB Atlas (pode ser testado em camadas gratuitas), Dataworkze Google Cloud
  • Kafka
  • Debezium

Etapa 1: prepare seu aplicativo móvel com Atlas Device Sync

Configure um aplicativo modelo para esse teste seguindo as etapas descritas nos Docs. Quando essa etapa for concluída, você terá um aplicativo móvel em execução localmente, com sincronização automatizada de volta para o MongoDB Atlas usando o Atlas Device Sync SDK.

Etapa 2: configurar um banco de dados de origem e uma collection do MongoDB Atlas de destino

Usamos o GCP em us-west1-a e o Cloud MySQL para este exemplo. Certifique-se de incluir dados de amostra.

Verifique se a replicação do BinLog já está habilitada

Verifique se a replicação BinLog está habilitada
  1. Acesse sua instância do MySQL do Google Cloud.
  2. No painel de navegação esquerdo, em Bancos de dados, selecione Backups.
  3. Acesse sua instância do MySQL do Google Cloud.
  4. Em Configurações, verifique o status dos backups automatizados.
  5. Se o status for Desativado, siga as etapas abaixo.

Habilitar replicação BinLog

Essas etapas são necessárias para configurar alguns dos processos em segundo plano que permitem a sincronização bidirecional contínua.
  1. Em Backups, Configurações, clique em + CRIAR BACKUP.
  2. Na caixa de diálogoEditar configurações de backup:
    • Marque as caixas de seleção Automatizar backups e Habilitar recuperação point-in-time .
    • Clique SALVAR para ativar as alterações.
Habilitar backups automatizados
  1. Verifique o status dos backups automatizados novamente em Configurações. Ele deve aparecer como mostrado abaixo. Esta etapa é importante porque os metadados criados no processo de backup são usados pelas ferramentas para ajudar a habilitar a sincronização bidirecional.
Configurações de backup do GCP

Etapa 3: configurar o connector para MySQL

O connector para MySQL precisa ser definido no Dataworkz.
Configurar Dataworkz para MySQL
  • Faça login no aplicativo Dataworkz.
  • Go para Configuração -> Bancos dedados -> MySQL.
  • Clique no ícone + na imagem acima para adicionar a configuração.
  • Ele abrirá a tela de configuração do MySQL.
Conectar ao MySQL no Dataworkz
  • Forneça os seguintes detalhes na tela de configuração:
    • Nome do connector MySQL
    • Servidor host e porta
    • Nome de usuário
    • Senha
    • Selecione o tipo de implantação.
    • Selecione a opção TLS/SSL conforme apropriado
  • Clique em Save (Salvar ) para adicionar a configuração do MySQL.

Etapa 4: configurar o connector para MongoDB

O connector do MongoDB Atlas precisa ser definido no Dataworkz.
Definição do MongoDB Atlas no Dataworkz
  • Faça login no aplicativo Dataworkz.
  • Go para Configuração -> Bancos de Dados -> MongoDB.
  • Clique no ícone + na imagem acima para adicionar a configuração.
  • Ele abrirá a tela de configuração do MongoDB.
Tela de configuração do MongoDB no Dataworkz
  • Forneça os seguintes detalhes na tela de configuração (eles podem ser acessados clicando no botãoConnect (Conectar ) exibido abaixo).
    • Nome do conector do MongoDB
    • Servidor host
    • Nome de usuário
    • Senha
Exibição do botão do MongoDB Atlas Connect na tela de visão geral
  • Clique em Salvar para adicionar a configuração do MongoDB.

Etapa 5: configurar o Kafka

O connector para Kafka precisa ser definido no Dataworkz.
Configuração de conexão do Kafka no Dataworkz
  • Faça login no aplicativo Dataworkz.
  • Go Configuração -> Sistemas de streaming -> Kafka.
  • Clique no ícone + na imagem acima para adicionar a configuração.
  • Ele abrirá a tela de configuração do Kafka.
Detalhes de configuração de conexão do Kafka no Dataworkz
  • Forneça os seguintes detalhes na tela de configuração:
    • Nome do Conector Kafka
    • Nome e porta do servidor Bootstrap (conforme o formato na imagem abaixo)
    • Zookeeper (opcional)
  • Clique em Salvar para adicionar a configuração do Kafka.

Etapa 6: configurar o CDC para MySQL

Configure CDC para MySQL no Dataworkz seguindo estas etapas:
Configuração do CDC do MySQL no Dataworkz
  • Faça login no aplicativo Dataworkz.
  • Go para Configuração -> Alterar captura de dados -> MySQL.
  • Clique no ícone + na imagem acima para adicionar a configuração.
  • Ele abrirá a tela de configuração do CDC.
Tela de configuração do Dataworkz CDC
  • Forneça os detalhes na tela de detalhes de configuração:
    • Escolha o Workspace.
    • Escolher o Kafka (que foi configurado na etapa anterior).
    • Adicione o nome do servidor Debezium.
    • Escolha o armazenamento MySQL que foi configurado anteriormente.
  • Selecione o banco de dados apropriado na lista.
  • Escolha a tabela de banco de dados para sincronização.
Tela de configuração do Dataworkz CDC
Você pode ver o CDC MySQL configurado na lista de configurações.
Configuração do Dataworkz MySQL CDC aparecendo na lista

Etapa 7: preparação de dados — modelagem JSON

Esta etapa permite a modelagem dos resultados do RDBMS na estrutura JSON. Para fazer isso, selecione Prep de dados -> ModeladorJSON dentro das configurações do Dataworkz.
Configuração da modelagem JSON das configurações do Dataworkz
Tela de detalhes de modelagem JSON de configurações do Dataworkz
  • Clique em Selecionar conjunto de dados raiz para modelagem json (imagem acima).
Tela de seleção do espaço de trabalho para CDC
  • Selecione o espaço de trabalho no qual o MySQL CDC foi configurado.
  • Selecione cdc_kafka como coleção de origem.
  • Escolha raiz/tabela base/conjunto de dados.
  • Clique na caixa de seleçãoEnable Bi-directional sync (Ativar sincronização bidirecional ).
  • Selecione um campo de sincronização na lista de colunas que serão usadas para determinar a última hora de atualização de uma linha.
  • Selecione colunas para o conjunto de dados de destino.
  • Clique em Update (Atualizar ) e você verá a tela abaixo.
Tela de modelagem JSON no Dataworkz
  • Escolha o mapeamento desejado com a tabela base clicando com o botão direito do mouse.
    • Se a tabela tiver mapeamento de um para muitos, escolha Criar documento de array.
    • Se a tabela tiver mapeamento um-para-um, escolha Criar campo no documento filho
  • A seleção de criar documento de array exigiria a seleção de um relacionamento de tabela filho (para a criação de um documento de array).
  • Selecione Child Table na tela que aparece.
Tela de tabela secundária do documento de matriz Dataworkz
  • Escolha a chave de junção na seçãoMapeamento de relacionamentos.
  • Na seçãoChave exclusiva, escolha a chave exclusiva para a tabela filho (usada para atualizar ou excluir eventos).
  • Selecione um campo de sincronização na lista de colunas que serão usadas para determinar a última hora de atualização de uma linha.
  • Click update.
  • Aparece um relacionamento de um para muitos.
Tela de detalhes do modelo JSON do Dataworkz
  • Clique em Salvar e escolha o destino de destino (MongoDB Collection, neste caso).
Dataworkz JSON Upsert e configurações principais
  • Escolha o Modo de Transferência como Upsert e selecione a chave exclusiva para a tabela de base na caixa pop-up.
Tela de configurações de mapeamento personalizado do Dataworkz
  • Escolha o nome do trabalho desejado e selecione a frequência do trabalho como Recorrente. Defina este trabalho como Contínuo na seçãoEscolher frequência.
Tela de configurações de frequência de trabalho do Dataworkz

Etapa 8: monitorar/manter o trabalho de sincronização

O trabalho de sincronização que foi agendado na etapa anterior pode ser visualizado em Trabalhos -> Trabalho contínuo" no portal Dataworkz. Ele fornece o seguinte:
  • status do trabalho (em execução/excluído/pausado)
  • capacidade de pausar um trabalho em execução
  • capacidade de retomar um trabalho pausado
  • capacidade de excluir um trabalho contínuo
Tela de resumo da tarefa de sincronização do Dataworkz

Conclusão

O MongoDB Atlas Device Sync simplifica e automatiza os desafios da sincronização de dados móveis com o Atlas. Ao se integrar ao Dataworkz, esses mesmos dados agora podem ser sincronizados de forma automática e bidirecional com MySQL, Oracle e outros bancos de dados.
Configure sua conta em cloud.mongodb.com e dataworkz.com para criar contas e iniciar sua viagem automatizada de sincronização de dados bidirecional.
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Evento do setor
localizaçãoAURORA, CO, Estados Unidos | presencial

Encontrei você na CppCon 2024


Sep 16, 2024 - Sep 21, 2024
Tutorial

Parte #1: Crie seu próprio Vector Search com o MongoDB Atlas e o Amazon SageMaker


Sep 18, 2024 | 4 min read
Tutorial

Impulsionando a IA: construa um chatbot sobre seus dados com o MongoDB Atlas Vector Search e os modelos LangChain usando o padrão RAG


Sep 18, 2024 | 7 min read
Artigo

Como trabalhar com os dados da Johns Hopkins University sobre COVID-19 no MongoDB Atlas


Sep 09, 2024 | 8 min read
Sumário