Migrar dados de Cassandra para o Azure Cosmos DB para Apache Cassandra conta usando Arcion

APLICA-SE A: Cassandra

A API para Cassandra no Azure Cosmos DB tornou-se uma ótima opção para cargas de trabalho corporativas executadas no Apache Cassandra por vários motivos, como:

  • Sem sobrecarga de gerenciamento e monitoramento: Ele elimina a sobrecarga de gerenciar e monitorar uma infinidade de configurações em arquivos de sistema operacional, JVM e yaml e suas interações.

  • Economia de custos significativa: você pode economizar custos com o Azure Cosmos DB, que inclui o custo de VMs, largura de banda e quaisquer licenças aplicáveis. Além disso, você não precisa gerenciar os data centers, servidores, armazenamento SSD, rede e custos de eletricidade.

  • Capacidade de utilizar código e ferramentas existente: o Azure Cosmos DB oferece compatibilidade ao nível do protocolo de transmissão com SDKs e ferramentas do Cassandra existentes. Essa compatibilidade garante que você possa usar sua base de código existente com o Azure Cosmos DB para Apache Cassandra com alterações triviais.

Há várias maneiras de migrar cargas de trabalho de banco de dados de uma plataforma para outra. Arcion é uma ferramenta que oferece uma maneira segura e confiável de executar a migração de tempo de inatividade zero de outros bancos de dados para o Azure Cosmos DB. Este artigo descreve as etapas necessárias para migrar dados do banco de dados Apache Cassandra para o Azure Cosmos DB para Apache Cassandra usando Arcion.

Nota

Esta oferta da Arcion está atualmente em versão beta. Para obter mais informações, entre em contato com eles em Arcion Support

Benefícios do uso do Arcion para migração

A solução de migração da Arcion segue uma abordagem passo a passo para migrar cargas de trabalho operacionais complexas. A seguir estão alguns dos principais aspetos do plano de migração de tempo de inatividade zero da Arcion:

  • Ele oferece migração automática da lógica de negócios (tabelas, índices, exibições) do banco de dados Apache Cassandra para o Azure Cosmos DB. Não é necessário criar esquemas manualmente.

  • O Arcion oferece replicação de banco de dados paralelo e de alto volume. Ele permite que as plataformas de origem e de destino estejam sincronizadas durante a migração usando uma técnica chamada Change-Data-Capture (CDC). Usando CDC, Arcion extrai continuamente um fluxo de alterações do banco de dados de origem (Apache Cassandra) e o aplica ao banco de dados de destino (Azure Cosmos DB).

  • É tolerante a falhas e fornece exatamente uma vez a entrega de dados, mesmo durante uma falha de hardware ou software no sistema.

  • Ele protege os dados durante o trânsito usando metodologias de segurança como TLS, criptografia.

Etapas para migrar dados

Esta seção descreve as etapas necessárias para configurar o Arcion e migra dados do banco de dados Apache Cassandra para o Azure Cosmos DB.

  1. No computador onde você planeja instalar o replicante Arcion, adicione um certificado de segurança. Este certificado é exigido pelo replicante Arcion para estabelecer uma conexão TLS com a conta especificada do Azure Cosmos DB. Você pode adicionar o certificado com as seguintes etapas:

    wget https://cacert.omniroot.com/bc2025.crt
    mv bc2025.crt bc2025.cer
    keytool -keystore $JAVA_HOME/lib/security/cacerts -importcert -alias bc2025ca -file bc2025.cer
    
  2. Você pode obter a instalação do Arcion e os arquivos binários solicitando uma demonstração no site do Arcion. Em alternativa, também pode enviar um e-mail para a equipa.

    Arcion replicante ferramenta baixar

    Arquivos replicantes Arcion

  3. No terminal CLI, configure a configuração do banco de dados de origem. Abra o arquivo de configuração usando vi conf/conn/cassandra.yml o comando e adicione uma lista separada por vírgulas de endereços IP dos nós Cassandra, número da porta, nome de usuário, senha e quaisquer outros detalhes necessários. Segue-se um exemplo de conteúdo no ficheiro de configuração:

    type: CASSANDRA
    
    host: 172.17.0.2
    port: 9042
    
    username: 'cassandra'
    password: 'cassandra'
    
    max-connections: 30
    
    

    Abra o editor de conexões Cassandra

    Configuração de conexão Cassandra

    Depois de preencher os detalhes de configuração, salve e feche o arquivo.

  4. Opcionalmente, você pode configurar o arquivo de filtro do banco de dados de origem. O arquivo de filtro especifica quais esquemas ou tabelas devem ser migrados. Abra o arquivo de configuração usando vi filter/cassandra_filter.yml o comando e insira os seguintes detalhes de configuração:

    
    allow:
    -	schema: “io_arcion”
    Types: [TABLE]
    

    Depois de preencher os detalhes do filtro do banco de dados, salve e feche o arquivo.

  5. Em seguida, você configurará a configuração do banco de dados de destino. Antes de definir a configuração, crie uma conta do Azure Cosmos DB para Apache Cassandra e, em seguida, crie um Keyspace e uma tabela para armazenar os dados migrados. Como você está migrando do Apache Cassandra para a API para Cassandra no Azure Cosmos DB, pode usar a mesma chave de partição que usou com o Apache cassandra.

  6. Antes de migrar os dados, aumente a taxa de transferência do contêiner para a quantidade necessária para que seu aplicativo migre rapidamente. Por exemplo, você pode aumentar a taxa de transferência para 100000 RUs. Dimensionar a taxa de transferência antes de iniciar a migração ajudará você a migrar seus dados em menos tempo.

    Dimensione o contêiner do Azure Cosmos DB em todo o

    Diminua a taxa de transferência após a conclusão da migração. Com base na quantidade de dados armazenados e RUs necessários para cada operação, você pode estimar a taxa de transferência necessária após a migração de dados. Para saber mais sobre como estimar as RUs necessárias, consulte Provisionar taxa de transferência em contêineres e bancos de dados e Estimar RU/s usando os artigos do planejador de capacidade do Azure Cosmos DB.

  7. Obtenha o Ponto de Contacto, a Porta, o Nome de Utilizador e a Palavra-passe Principal da sua conta do Azure Cosmos DB a partir do painel Cadeia de Ligação. Você usará esses valores no arquivo de configuração.

  8. No terminal CLI, configure a configuração do banco de dados de destino. Abra o arquivo de configuração usando vi conf/conn/cosmosdb.yml o comando e adicione uma lista separada por vírgulas de URI do host, número da porta, nome de usuário, senha e outros parâmetros necessários. O exemplo a seguir mostra o conteúdo do arquivo de configuração:

    type: COSMOSDB
    
    host: '<Azure Cosmos DB account’s Contact point>'
    port: 10350
    
    username: 'arciondemo'
    password: '<Your Azure Cosmos DB account’s primary password>'
    
    max-connections: 30
    
  9. Em seguida, migre os dados usando o Arcion. Você pode executar o replicante Arcion no modo completo ou instantâneo :

    • Modo completo – Neste modo, o replicante continua a ser executado após a migração e escuta quaisquer alterações no sistema Apache Cassandra de origem. Se detetar alterações, elas serão replicadas na conta de destino do Azure Cosmos DB em tempo real.

    • Modo de instantâneo – Neste modo, você pode executar a migração de esquema e a replicação de dados única. A replicação em tempo real não é suportada com esta opção.

    Usando os dois modos acima, a migração pode ser realizada com tempo de inatividade zero.

  10. Para migrar dados do terminal replicante da CLI do Arcion, execute o seguinte comando:

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing
    

    A interface do usuário replicante mostra o progresso da replicação. Uma vez que a migração de esquema e a operação de snapshot são concluídas, o progresso mostra 100%. Após a conclusão da migração, você poderá validar os dados no banco de dados do Azure Cosmos DB de destino.

    Saída de migração de dados Cassandra

  11. Como você usou o modo completo para migração, pode executar operações como inserir, atualizar ou excluir dados no banco de dados Apache Cassandra de origem. Mais tarde, valide se eles são replicados em tempo real no banco de dados do Azure Cosmos DB de destino. Após a migração, certifique-se de diminuir a taxa de transferência configurada para seu contêiner do Azure Cosmos DB.

  12. Você pode parar o replicante em qualquer ponto e reiniciá-lo com a opção --resume . A replicação é retomada a partir do ponto em que foi interrompida sem comprometer a consistência dos dados. O comando a seguir mostra como usar a opção de retomada.

    ./bin/replicant full conf/conn/cassandra.yaml conf/conn/cosmosdb.yaml --filter filter/cassandra_filter.yaml --replace-existing --resume
    

Para saber mais sobre a migração de dados para o destino, migração em tempo real, consulte a demonstração do replicante Arcion.

Próximos passos