Migrar dados do Oracle para o Azure Cosmos DB for Apache Cassandra usando o Arcion

APLICA-SE A: Cassandra

A API do Cassandra no Azure Cosmos DB se tornou uma ótima opção para cargas de trabalho corporativas em execução no Oracle por motivos como:

  • Melhor escalabilidade e disponibilidade: ele elimina pontos únicos de falha, melhora a escalabilidade e a disponibilidade dos aplicativos.

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

  • Sem sobrecarga de gerenciamento e monitoramento: como um serviço de nuvem totalmente gerenciado, o Azure Cosmos DB elimina a sobrecarga de gerenciamento e monitoramento de uma infinidade de configurações.

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

Observação

Essa oferta do Arcion está atualmente em versão beta. Para obter mais informações, entre em contato com eles no Suporte do Arcion

Benefícios de usar o Arcion para migração

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

  • Ele oferece migração automática de lógica de negócios (tabelas, índices, visualizações) do Oracle Database para Azure Cosmos DB. Você não precisa criar esquemas manualmente.

  • O Arcion oferece replicação de banco de dados paralela e de alto volume. Ele permite que as plataformas de origem e de destino estejam em sincronia durante a migração usando uma técnica chamada CDA (captura de dados de alteração). Usando a CDA, o Arcion obtém continuamente um fluxo de alterações do banco de dados de origem (Oracle) e a aplica ao banco de dados de destino (Azure Cosmos DB).

  • Ele é tolerante a falhas e assegura a entrega de dados apenas uma vez, 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/SSL, criptografia.

  • Ele oferece serviços para converter a lógica de negócios complexa escrita em PL/SQL na lógica de negócios equivalente no Azure Cosmos DB.

Etapas para migrar dados

Esta seção descreve as etapas necessárias para configurar o Arcion e migrar dados do Oracle Database para o Azure Cosmos DB.

  1. No computador em que você planeja instalar o Arcion Replicant, adicione um certificado de segurança. Esse certificado é exigido pelo Arcion Replicant para estabelecer uma conexão TLS com a conta de Azure Cosmos DB especificada. Você pode adicionar o certificado da seguinte forma:

    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. Você também pode enviar um email para a equipe.

    Download da ferramenta Arcion Replicant

    Arquivos do Arcion Replicant

  3. No terminal da CLI, defina a configuração do banco de dados de origem. Abra o arquivo de configuração usando o comando vi conf/conn/oracle.yml e adicione uma lista de endereços de IP dos nós do Oracle, número da porta, nome de usuário, senha e outros detalhes necessários, separada por vírgulas. O seguinte código mostra um exemplo de arquivo de configuração:

    type: ORACLE
    
    host: localhost
    port: 53546
    
    service-name: IO
    
    username: '<Username of your Oracle database>'
    password: '<Password of your Oracle database>'
    
    conn-cnt: 30
    use-ssl: false
    

    Abrir o editor de conexões Oracle

    Configuração de conexão Oracle

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

  4. Você também pode configurar o arquivo de filtro do banco de dados de origem. O arquivo de filtro especifica quais esquemas ou tabelas migrar. Abra o arquivo de configuração usando o comando vi filter/oracle_filter.yml e insira os seguintes detalhes de configuração:

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

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

  5. Em seguida, você definirá a configuração do banco de dados de destino. Antes de definir a configuração, crie uma conta do Azure Cosmos DB for Apache Cassandra. Escolha a chave de partição correta de seus dados e crie um keyspace e uma tabela para armazenar os dados migrados.

  6. Antes de migrar os dados, aumente a taxa de transferência do contêiner para o valor necessário 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.

    Dimensionar a taxa de transferência do contêiner do Azure Cosmos DB

    Você deve diminuir 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 os RUs necessário, confira Provisionar taxa de transferência em contêineres e bancos de dados e Estimar RU/s usando os artigos de planejamento de capacidade do Azure Cosmos DB.

  7. Obtenha o Ponto de Contato, a Porta, o Nome de usuário e a Senha Primária da conta do Azure Cosmos DB no painel Cadeia de Conexão. Você usará esses valores no arquivo de configuração.

  8. No terminal da CLI, defina a configuração do banco de dados de destino. Abra o arquivo de configuração usando o comando vi conf/conn/cosmosdb.yml e adicione uma lista de URI de host, número da porta, nome de usuário, senha e outros parâmetros necessários, separada por vírgulas. Este é um exemplo dos conteúdos no 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
    use-ssl: false
    
  9. Em seguida, migre os dados usando o Arcion. Você pode executar o Arcion Replicant no modo completo ou de instantâneo:

    • Modo completo: nesse modo, o replicante continua a ser executado após a migração e escuta as alterações no sistema Oracle de origem. Se ele detectar alterações, elas serão replicadas na conta de destino do Azure Cosmos DB em tempo real.

    • Modo de instantâneo – nesse modo, você pode executar a migração de esquema e replicação de dados de uso único. A replicação em tempo real não tem suporte com essa opção.

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

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

    ./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_filter.yaml --replace-existing
    

    A interface do usuário do Replicant mostra o progresso da replicação. Depois que a operação de migração e instantâneo do esquema for concluída, o progresso mostrará 100%. Depois que a migração for concluída, você poderá validar os dados no banco de dados de destino do Azure Cosmos DB.

    Saída de migração de dados do Oracle

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

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

    ./bin/replicant full conf/conn/oracle.yaml conf/conn/cosmosdb.yaml --filter filter/oracle_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 Arcion Replicant.

Próximas etapas