Introdução

Você está modernizando seu processo de desenvolvimento? Está seguindo uma abordagem de desenvolvimento rápido para oferecer recursos de maior qualidade e mais frequentes aos seus clientes? Parte desse processo geralmente exige que trabalhemos com vários bancos de dados durante um período de transição, quando precisamos de ambos os bancos de dados disponíveis. Precisamos de uma maneira de sincronizar os dados entre os bancos de dados. Usando o Couchbase com GlueSync se encaixa nesse propósito. 


O GlueSync permite que você replique dados de e para RDBMS (Microsoft SQL Server e Oracle) em tempo real com o Couchbase.


Usaremos o Docker nesta postagem enquanto percorremos as etapas para instalar e configurar o Couchbase, o Microsoft SQL Server e o GlueSync, demonstrando a sincronização de dados entre os dois.

Antes de começarmos

Docker

Primeiro, este tutorial usa o Docker e, se você não tiver o Docker, poderá encontrar mais informações aqui https://www.docker.com/. Você precisará instalar o Docker para concluir as etapas abaixo.

GlueSync

Em seguida, a GlueSync requer uma licença. Para concluir este tutorial, você precisará de uma licença da equipe da GlueSync. Você pode ir para https://gluesync.com/plans/ e veja mais informações sobre seus planos e https://gluesync.com/contact-sales/ para entrar em contato com a equipe da GlueSync.

Etapas de alto nível

  1. Executar e configurar o Couchbase e o MSSQL
  2. Criar o arquivo de configuração para o GlueSync
  3. Configurar e executar o GlueSync para Couchbase para MSSQL
  4. Veja a mágica

Executar o Couchbase e o MSSQL

Couchbase

Usaremos o Couchbase 6.6.3 para este tutorial. O seguinte comando do Docker colocará o Couchbase em funcionamento, expondo as portas de que precisamos.

MSSQL

Para o comando MSSQL Docker run, observe que estamos incluindo a senha SA. Atualize-a e anote-a, pois a usaremos mais tarde.

Verificar contêineres

Agora você deve ter dois contêineres em execução, o Couchbase e o MSSQL. Iniciaremos o contêiner da GlueSync depois de configurá-los.

 

Configurar o Couchbase com GlueSync e MSSQL

Começaremos com o Couchbase e faremos uma instalação básica.

Configurar novo cluster

A execução dos comandos do Docker acima teria iniciado o Couchbase e exposto as portas para que você possa abrir na interface do usuário do Couchbase, acessando http://localhost:8091/ui/index.html.

Nós escolheremos Configurar novo cluster e configurar um cluster de um nó (não recomendado para produção, mas funciona muito bem para desenvolvimento e para fazer um tutorial). 

Digite as informações do novo cluster e clique em Próximo: Aceitar termos. Anote sua senha, pois precisaremos dela mais tarde. Estamos usando RandomCBPass2! para essa instância.

Se você aceitar os termos e condições, marque essa opção e clique em Finalizar com padrões.

OBSERVAÇÃO O GlueSync funciona com o Couchbase usando algumas tecnologias do Couchbase, o Sync Gateway e o serviço Eventing. Neste tutorial, estamos usando a opção Eventing. O recurso Eventing será instalado com a opção Finalizar com padrões seleção abaixo. 


O Couchbase oferece uma instalação única em que você pode ativar todos os serviços ou escolher e personalizar de acordo com as necessidades do seu projeto. Este tutorial instalará todos os serviços por conveniência. Saiba mais sobre os serviços do Couchbase e o dimensionamento multidimensional.  


Você deverá ser redirecionado para o Dashboard. Neste tutorial, usaremos os dados do bucket de amostra. Para instalar os dados, clique em Baldes de amostra.

Se, por algum motivo, você não estiver vendo o Balde de amostras no painel de controle, vá para Configurações no menu esquerdo, procure no canto superior direito da interface do usuário e você verá um item de menu para Baldes de amostraconforme mostrado abaixo. 

Verifique a amostra de cerveja e clique em Carregar dados de amostra.

Aguarde alguns minutos para carregar e clique em Baldes na navegação à esquerda.

 Você deveria ver o balde de amostras de cerveja que acabamos de carregar.

Vamos visualizar os documentos. Clique no ícone Documentos no link à direita, ao lado de Estatísticas.

Vamos sincronizar documentos do tipo cerveja. Você pode colocar um filtro (type="beer") na caixa N1QL WHERE e clicar em Recuperar documentos para obter esses documentos; será um pouco mais fácil ver e testar dessa forma.

 

Criar usuário do Couchbase

Criaremos um usuário para ser usado pelo aplicativo GlueSync. Isso é para fins de tutorial e você deve seguir suas práticas de segurança ao gerenciar seus usuários em conjunto com os requisitos do Couchbase e da GlueSync.

Ir para o Segurança no link à esquerda e clique em ADICIONAR USUÁRIO no canto superior direito.

Preencha as informações do usuário, conforme mostrado abaixo. Estamos usando o nome de usuário de cb-usuário e senha RandomCBPass2!Guarde essas informações para mais tarde. Certifique-se de verificar Administração completa sob as funções. Depois de preenchido, clique no botão Adicionar usuário botão.

Você verá o usuário que acabamos de criar.

 

Adicionar um bucket de metadados do GlueSync

O GlueSync usa o serviço Eventing do Couchbase. O Eventing requer um bucket de metadados, e vamos criar um agora. Obter mais informações no GlueSync e no bucket de metadados.

Ir para Baldes no menu à esquerda e clique em ADICIONAR BALDE no canto superior direito.

Digite o nome dos metadados e clique em Adicionar balde. Usaremos os padrões para as outras opções.

Você deve ver dois baldes agora.

 

MSSQL

Usaremos o SQL Server Management Studio para configurar o MSSQL, que foi instalado na etapa acima. Se precisar instalar o Management Studio, você pode encontre-o aqui. 

Faça login com as credenciais passadas para o comando do Docker na etapa anterior, neste caso, Login: sa e Senha: RandomMSSQLPass2!.

 

Criar novo banco de dados

Criaremos um novo banco de dados no qual os dados do Couchbase serão carregados.

Nesse caso, como sou muito criativo, usarei cbe selecione Ok.

 

Criar login

Em seguida, crie um login MSSQL. Clique com o botão direito do mouse na pasta Login e selecione Novo login....

O nome de login que estamos usando é mssql-user e a senha é RandomMSSQLUserPass2!.

Definir o banco de dados padrão como cbno banco de dados criado acima.

Você deve seguir seus padrões de segurança ao criar usuários. As instruções neste artigo são apenas para fins de tutorial e algumas opções que escolhi são para simplificar.

Ir para Mapeamento de usuários, à esquerda sob Selecione uma páginae selecione cb sob Usuários mapeados para este login e Proprietário do banco de dados sob o Participação na função do banco de dados.

Agora que temos essa configuração, verifique se você pode fazer login com o usuário. Faça logout do sa e faça login novamente com o novo usuário.

Criar tabela

Vamos criar uma tabela para os dados a serem sincronizados, a partir do Couchbase. Vá para a tabela Bancos de dados, então cbe, em seguida, abra um Nova consulta janela. Os campos dessa tabela correspondem aos atributos do documento beer-samples do Couchbase. O SQL para criar a tabela está abaixo.

Execute o comando create table. 

Configurar e executar o GlueSync para Couchbase para MSSQL

O GlueSync tem dois componentes, um para o Couchbase para o MSSQL e outro para o MSSQL para o Couchbase. Isso configurará o aplicativo para sincronizar os dados do Couchbase com o MSSQL. A configuração da outra direção é muito semelhante.   

Criar pasta de configuração

Crie uma pasta para o arquivo de configuração do GlueSync. Compartilharemos isso com o contêiner do Docker ao iniciá-lo.

 

Obter endereços IP de rede do Docker para Couchbase e MSSQL

Precisamos das informações de rede do Docker para os contêineres do Couchbase e do MSSQL para configurar o GlueSync.

Obtenha os IDs de contêineres.

Agora, obtenha os endereços IP dos contêineres que usam esses IDs usando o comando Docker Inspect no Couchbase.

Execute o comando Docker Inspect no MSSQL.

Os endereços IP são:

  • Couchbase - 172.17.0.2
  • MSSQL - 172.17.0.3

OBSERVAÇÃO: se você parar e reiniciar os contêineres, o endereço IP poderá mudar e será necessário verificar se a configuração ainda está correta.

Criar o arquivo de configuração da GlueSync

Atualize as informações abaixo com suas informações específicas e salve-as no arquivo config.json na pasta que você criou acima, ou seja, c:\a\gluesync\config\config.json

Obter credenciais da GlueSync para extrair a imagem da GlueSync do Docker

Consulte a seção Antes de começar acima para obter informações sobre a licença do GlueSync para o registro do Docker e fazer o download do produto. 

Quando você tiver essas informações, siga as etapas abaixo para instalar o GlueSync.

Como é possível que você já tenha credenciais armazenadas, talvez queira fazer logout. Se você tiver problemas com as credenciais, esse pode ser o motivo.

Faça login no registro - esse pode ser um registro diferente do que você normalmente usa, portanto, verifique novamente esse valor.

 

Puxe a imagem.

Talvez você queira fazer o logout novamente (já me atrapalhei quando não fiz o logout e recebi erros na próxima vez que executei um comando).

 

Inicie o contêiner/aplicativo GlueSync

Atualize o caminho para o arquivo de configuração no comando do Docker abaixo para corresponder ao caminho em seu computador.

Você deve ter três contêineres em execução no Docker.

Se ele não estiver em execução, verifique se há mensagens nos registros do contêiner. Inadvertidamente, coloquei o arquivo de configuração na pasta errada e o GlueSync não foi iniciado; os registros me informaram o que estava acontecendo.

Veja a magia

Vá para o MSSQL e consulte a tabela. Você deverá ver os dados do bucket do Couchbase na tabela que criamos. Quando o GlueSync foi iniciado, ele sincronizou os dados do Couchbase com o MSSQL.

Para brincar com isso, você pode modificar os dados e ver as alterações sincronizadas entre os bancos de dados. Vá para os documentos de amostras de cerveja e faça uma alteração. Aqui, atualizei dois documentos. Você pode ver o registro de saída do Docker abaixo da interface do usuário do Couchbase. O GlueSync detectou as duas alterações.

Ao mudar para o MSSQL, também posso ver as atualizações no MSSQL.

 

Conclusão

Muitas vezes, temos de trabalhar com vários bancos de dados, principalmente quando estamos fazendo uma modernização. Podemos ter uma versão em fases ou precisar obter dados existentes de um banco de dados relacional mais antigo para o Couchbase. Isso pode envolver código e testes personalizados ou considerar um produto como o GlueSync, que torna o processo mais simples. 

Checkout GlueSync para obter mais informações sobre seus produtos e recursos.

Autor

Postado por David Elliott, engenheiro de soluções

Engenheiro de soluções da Couchbase, especialista em todos os ofícios, mestre em alguns.

Deixar uma resposta