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
Avalie esse Tutorial
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. "
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.
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.
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.
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!
- Kafka
- Debezium
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.
Usamos o GCP em us-west1-a e o Cloud MySQL para este exemplo. Certifique-se de incluir dados de amostra.
- Acesse sua instância do MySQL do Google Cloud.
- No painel de navegação esquerdo, em Bancos de dados, selecione Backups.
- Acesse sua instância do MySQL do Google Cloud.
- Em Configurações, verifique o status dos backups automatizados.
- Se o status for Desativado, siga as etapas abaixo.
Essas etapas são necessárias para configurar alguns dos processos em segundo plano que permitem a sincronização bidirecional contínua.
- Em Backups, Configurações, clique em +CRIAR BACKUP.
- Na caixa de diálogo Editar configurações de backup:
- Marque as caixas de seleção Automatizar backups e Habilitar recuperação point-in-time.
- Clique em SALVAR para ativar as alterações.
- 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.
O connector para MySQL precisa ser definido no Dataworkz.
- Faça login no aplicativo Dataworkz.
- Vá para Configuração -> Bancos de dados -> MySQL.
- Clique no ícone + na imagem acima para adicionar a configuração.
- Ele abrirá a tela de configuração do MySQL.
- 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 Salvar para adicionar a configuração MySQL.
O connector do MongoDB Atlas precisa ser definido no Dataworkz.
- Faça login no aplicativo Dataworkz.
- Vá 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.
- Forneça os seguintes detalhes na tela de configuração (eles podem ser acessados clicando no botãoConectar exibido abaixo).
- Nome do conector do MongoDB
- Servidor host
- Nome de usuário
- Senha
- Clique emSalvar para adicionar a configuração do MongoDB .
O connector para Kafka precisa ser definido no Dataworkz.
- Faça login no aplicativo Dataworkz.
- Acesse 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.
- 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.
Configure CDC para MySQL no Dataworkz seguindo estas etapas:
- Faça login no aplicativo Dataworkz.
- Vá 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.
- 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.
Você pode ver o CDC MySQL configurado na lista de configurações.
Esta etapa permite a modelagem dos resultados do RDBMS na estrutura JSON. Para fazer isso, selecione Prep de dados -> Modelador JSON dentro das configurações do Dataworkz.
- Clique em Selecionar conjunto de dados raiz para modelagem JSON (imagem acima).
- 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ção Habilitar 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 Atualizar e você verá a tela abaixo.
- 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).
- Escolha Tabela filho na tela que aparece.
- Escolha achave de junção na seçãoMapeamento de relacionamentos.
- Na seção Chave 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.
- Clique em Salvar e escolha o destino de destino (MongoDB Collection, neste caso).
- Escolha oModo de Transferência como Upsert e selecione a chave exclusiva para a tabela de base na caixa pop-up.
- Escolha o nome do tarefa desejado e selecione a frequência do tarefa como recorrente. Defina esta tarefa como Contínuo na seçãoEscolher Frequência .
O tarefa 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
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.