Couchbase Capella

Uma introdução ao Couchbase Cloud: Migração facilitada

Não é uma pergunta simples de responder: Como faço para transferir minha solução local, virtualizada ou de nuvem pública para uma nova e brilhante infraestrutura de nuvem totalmente gerenciada, com o mínimo de interrupção possível?

As preocupações com a migração estão no topo da lista de todos os desenvolvedores que trabalham na nuvem, e espero abordar essas questões e preocupações nesta postagem do blog.

A postagem anterior desta série foi Uma introdução ao Couchbase Cloud. Esta postagem do blog incluiu uma visão geral de alto nível do Couchbase Cloud, de como ele surgiu e algumas dicas para você começar a usar o Couchbase Cloud. sua jornada no Couchbase Cloud. O sucesso da primeira postagem me levou a escrever o próximo artigo da série. A próxima etapa lógica a ser abordada é migração.

Antes do lançamento da versão DBaaS (Database-as-a-Service, banco de dados como serviço) totalmente gerenciada do Couchbase, era possível implantar a plataforma NoSQL em qualquer infraestrutura que você quisesse: servidores bare metal, contêineres do Docker, máquinas virtuais, nuvens públicas e privadas ou qualquer outra coisa que se encaixasse na sua pilha de tecnologia atual. Couchbase visa dar suporte a tudo isso.

Isso também significa fazer com que sua próxima migração ou transferência de dados entre qualquer plataforma seja a mais perfeita possível, incluindo quaisquer migrações para o Couchbase Cloud. No entanto, migração envolve muito mais do que apenas a transferência de seus dados. Suas configurações anteriores também podem incluir serviços, índices e usuários que também precisam ser transferidos.

O objetivo deste artigo é orientá-lo passo a passo sobre algumas das ações mais comuns a serem tomadas durante o processo de migração da forma mais simples possível. Em alguns casos, meus colegas já escreveram instruções detalhadas sobre etapas específicas, portanto, farei referência a elas quando necessário.

Agora, vamos dar a você uma vantagem inicial em seu Couchbase Jornada de migração para a nuvem.

Crie sua nuvem

Antes mesmo de iniciar uma migração, você precisa de algo para o qual migrar.

Em Minha postagem anterior no blogNo artigo anterior, fizemos uma introdução ao Couchbase Cloud, com dicas sobre como começar. Se você ainda não o fez, leia esse artigo primeiro e crie sua primeira nuvem.

Uma das primeiras coisas a considerar é o tamanho do cluster para o qual você vai migrar. Em muitos casos, você deseja imitar o tamanho e a forma da infraestrutura original.

O Couchbase Cloud oferece um suprimento infinito de opções flexíveis para quaisquer nós, tamanhos ou configurações de serviço que você precise implementar. Vale a pena observar que os tipos de instância são algo que você deve pesquisar e considerar antes de criar exatamente a mesma infraestrutura no Couchbase Cloud. É importante conhecer os diferentes tamanhos de máquinas, especialmente a quantidade de RAM e CPU que um determinado nó tem.

Se você tiver alguma experiência anterior com Servidor CouchbaseComo você sabe, diferentes serviços consomem mais recursos. Por exemplo, o Query Service consome mais CPU do que memória, portanto, escolher uma instância com muita CPU pode ser a melhor opção para esses nós.

Cluster sizing options in Couchbase Cloud

Se você estiver procurando por uma prática recomendada, minha recomendação seria analisar sua implementação atual e tentar combiná-la o mais próximo possível do que você já tem. Para começar, isso será suficiente.

Migração de usuários

O Couchbase Cloud oferece dois tipos de usuários: Usuários do Couchbase Cloud e usuários do banco de dados.

Os usuários do Couchbase Cloud têm acesso para fazer login em https://cloud.couchbase.com/ e interagem principalmente com o plano de controle. Esses usuários têm três opções: Admin, Editar e Exibir. Esses usuários são criados para a administração principal da Couchbase Cloud Platform. No plano de controle, eles têm acesso ao painel principal, à conexão de provedores de serviços de nuvem, à criação de usuários, aos detalhes de faturamento e a outras atividades dos clusters subjacentes.

Os usuários do banco de dados também têm acesso ao plano de controle. No entanto, esses usuários têm acesso aos clusters individuais, aos serviços e aos dados subjacentes. Esses usuários criam buckets, criam índices, executam consultas etc. Esses usuários também fornecem as credenciais que os SDKs do seu aplicativo usam para interagir com o cluster. É possível limitar o nível de acesso e controle que esses usuários de banco de dados têm em diferentes clusters e buckets dentro da sua organização.

Add and manage users in Couchbase Cloud

A criação de ambos os tipos de usuários é trivial: há um formulário simples a ser preenchido e nada mais. Em seguida, esses usuários recebem e-mails notificando-os sobre o acesso que acabaram de receber. Para os usuários de longa data do Couchbase, essa também é uma ótima oportunidade para avaliar quem tem exatamente qual acesso a diferentes informações.

Projetos no Couchbase Cloud

O Couchbase Cloud apresenta o conceito de projetos.

Muitos clientes do Couchbase usam o Couchbase para oferecer suporte a vários aplicativos diferentes. Os projetos lhe dão a chance de organizar logicamente esses clusters em grupos. Basta criar um novo projeto e implementar os clusters relevantes dentro dele.

Migração de baldes

Os Buckets do Couchbase são o que muitas pessoas chamam de bancos de dadose são sua primeira camada lógica de armazenamento em um cluster.

Criar esses buckets é simples - e ainda mais simples se você já tiver usado o Couchbase Server. Dentro de cada cluster, há uma guia de buckets e, ao selecionar "Add Bucket" (Adicionar bucket), é exibido um formulário que inclui o nome do bucket, a alocação de memória e as opções de resolução de conflitos. Basta criar o novo bucket, fornecer a ele as informações relevantes e você estará pronto para começar a migrar os dados para o cluster.

Bucket database migration in Couchbase Cloud

Migração de dados

Agora é a vez da parte principal do programa: Migração de dados. Há dois métodos principais de migração de dados no Couchbase Cloud: migração off-line e migração on-line.

Migração de dados on-line

Começaremos com a migração de dados on-line porque é a mais comum.

A migração on-line é o processo de mover ou replicar os dados para outro cluster ativo, enquanto o cluster original ainda está operacional e recebendo tráfego. Essa abordagem elimina a necessidade de tempo de inatividade, que é um dos principais benefícios de uma tecnologia NoSQL como o Couchbase.

A ferramenta que vamos utilizar chama-se XDCR, ou Cross Data Center Replication. Ela permite que você configure fluxos de replicação bidirecionais ou unidirecionais entre dois buckets em clusters diferentes. Essa replicação contínua é um consumidor do protocolo de alteração de dados (DCP) que propaga instantaneamente as mutações de dados em seu cluster, garantindo que a replicação também esteja captando essas alterações.

São necessárias apenas algumas etapas para conectar seu cluster autogerenciado ao Couchbase Cloud e configurar um fluxo de replicação:

  1. Conecte seu cluster autogerenciado no projeto em que está o cluster de destino. Connect the self-managed cluster in Couchbase Cloud
  2. Preencha as informações do seu cluster autogerenciado, carregando os certificados, se necessário, e clique em salvar.
    Add a self-managed cluster in Couchbase Cloud
  3. Adicione um fluxo de replicação de seus buckets de origem e destino, incluindo qualquer filtragem avançada, e comece a replicar.
    Set up replication with Couchbase Cloud

A partir daí, adicione quantos fluxos de replicação forem necessários e repita o processo para quaisquer clusters autogerenciados adicionais.

Uma vez que os dados tenham sido replicados, essa é uma ótima oportunidade para testar tudo do ponto de vista do aplicativo e do desempenho até que você esteja satisfeito com o fato de que a transição pode ser feita sem problemas. Quando o novo cluster estiver conectado e operacional com seu aplicativo, você estará pronto para começar. Nesse ponto, fique à vontade para deixar o cluster autogerenciado lá ou removê-lo do projeto e desativar esses nós quando for adequado.

Simples, não é?

Migração de dados off-line

A migração de dados off-line serve para migrar dados que não estão sendo gravados ativamente. Nesses cenários, você precisa capturar os dados como eles são e, em seguida, trazer esses dados capturados para o Couchbase Cloud.

Para iniciar esse processo, você precisará de um conjunto de dados fixo pronto para ser importado. Se você tiver um cluster do Couchbase existente, use cbexport para exportar seus dados existentes. Mas, desde que os dados estejam no formato correto, eles podem vir de qualquer fonte.

Os conjuntos de dados que podem ser importados dessa forma incluem:

    • Lista JSON
    • Linhas JSON
    • CSV
    • Arquivo

Depois de ter um conjunto de dados apropriado, use a funcionalidade de importação no plano de controle do Couchbase Cloud para ingerir os dados em um bucket existente. Isso pode ser encontrado no cluster, no menu suspenso "Tools" (Ferramentas).

Couchbase Cloud control plane import data option

A partir daí, ao clicar em "Import" (Importar), é exibida uma caixa de diálogo em que você define explicitamente o bucket de destino, o tipo de arquivo de importação, a geração de chaves e quaisquer configurações adicionais. Quando tudo estiver pronto, selecione "Import" para iniciar a importação de dados.

Import documents in Couchbase Cloud

Para obter mais informações sobre migração de dados off-line, meu colega Prasad Doddi escreveu um excelente artigo sobre o novo e aprimorado processo de importação no Couchbase Cloud.

Migração de índices N1QL

As primeiras seções acima devem abranger a maioria dos casos de uso que utilizam o cache de valor-chave no Couchbase. Entretanto, alguns clusters foram estendidos para aproveitar os recursos de consulta por meio da linguagem de consulta do Couchbase, N1QL (como SQL para JSON).

Assim como o SQL, as consultas N1QL requerem índices para que sejam executadas com êxito. E, como você provavelmente sabe, os índices exigem um ajuste fino para otimizá-los para uma consulta específica. Com todo o tempo que você gastou com esses índices, você quer ter certeza de que eles foram transferidos corretamente.

A primeira abordagem para migrar os índices é a abordagem manual. No cluster existente, pesquise as definições de índice na seção de índice da interface de usuário fornecida. Traga essas definições para junto do seu cluster do Couchbase Cloud, vá para o Query Workbench e comece a executar os comandos de definição de índice até que você tenha um conjunto completo de índices que correspondam ao seu ambiente original.

Para ambientes grandes ou ambientes em que a consulta é o método predominante de recuperação de dados, essa abordagem para definições de índices começa a se tornar muito detalhada. Nesse caso, há muitos índices para migrar, portanto, você precisa de um método mais simples.

Há também uma abordagem programática para migrar seus índices, e você precisará do pacote cbshell ferramenta de linha de comando. Você pode migrar seus índices em quatro etapas simples:

  1. Instalar cbshell em um sistema que tenha acesso à Internet para ambos os clusters
  2. Criar um configuração que define o cluster autogerenciado de origem e o cluster de nuvem de destino.
  3. Entre no cluster de origem e migre as definições para o cluster de nuvem.
  4. Entre no cluster de nuvem de destino e crie os novos índices.

Este artigo de um colega meu aborda mais detalhadamente Migrando do Couchbase Server para o Couchbase Cloudincluindo a migração de índices.

Pessoalmente, acredito que a abordagem manual é tão rápida (se não mais rápida) quanto a abordagem programática. A abordagem de migração manual de índices também é uma ótima oportunidade para analisar os índices implantados atualmente. Talvez você encontre índices de que não precisa mais, ou as definições de índices mais antigos talvez precisem de um ajuste para melhorar o desempenho.

Por outro lado, a consulta e a indexação podem ser enormes em algumas implementações. Você pode ter centenas de índices que abrangem vários clusters. A abordagem manual seria uma tarefa monolítica que consumiria muito tempo. Nesse cenário, adote definitivamente a abordagem programática.

Migração do índice de pesquisa de texto completo

Alguns de seus clusters podem ter Pesquisa de texto completo (FTS) recursos habilitados no pool de serviços.

Assim como na consulta, a pesquisa de texto completo requer índices. Replicar esses índices do FTS no Couchbase Cloud requer uma abordagem semelhante à migração manual de índices detalhada acima.

Para realizar essa migração manual, pegue as definições de índice do seu índice do Full Text Search e copie-as para o novo cluster do Couchbase Cloud. Embora atualmente esse seja um processo manual, não deve ser uma tarefa muito desafiadora.

Import full-text search indexes into Couchbase Cloud

Conclusão

Esse é o seu guia passo a passo para migrar para o Couchbase Cloud, incluindo usuários, buckets, dados e índices de todos os tipos. Espero que você tenha achado esta introdução útil e que eu escreva mais artigos nesta série introdutória ao Couchbase Cloud.

Acompanhe o restante das postagens desta série sobre como começar a usar o Couchbase Cloud:

 

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Daniel Bull, engenheiro de soluções associado

Daniel Bull é engenheiro de soluções associado da Couchbase

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.