Processo de migração off-line: Apache Cassandra para Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Processo de migração off-line: Apache Cassandra para Amazon Keyspaces

As migrações off-line são adequadas quando você pode arcar com o tempo de inatividade para realizar a migração. É comum entre as empresas ter janelas de manutenção para patches, grandes lançamentos ou tempo de inatividade para atualizações de hardware ou atualizações importantes. A migração off-line pode usar essa janela para copiar dados e transferir o tráfego do aplicativo do Apache Cassandra para o Amazon Keyspaces.

A migração off-line reduz as modificações no aplicativo porque não exige comunicação simultânea com o Cassandra e o Amazon Keyspaces. Além disso, com o fluxo de dados pausado, o estado exato pode ser copiado sem manter as mutações.

Neste exemplo, usamos o Amazon Simple Storage Service (Amazon S3) como uma área de armazenamento de dados durante a migração off-line para minimizar o tempo de inatividade. Você pode importar automaticamente os dados armazenados no formato Parquet no Amazon S3 em uma tabela do Amazon Keyspaces usando o conector Spark Cassandra e AWS Glue. A seção a seguir mostrará uma visão geral de alto nível do processo. Você pode encontrar exemplos de código para esse processo no Github.

O processo de migração offline do Apache Cassandra para o Amazon Keyspaces usando o Amazon S3 e AWS Glue requer o seguinte AWS Glue empregos.

  1. Um ETL trabalho que extrai e transforma CQL dados e os armazena em um bucket do Amazon S3.

  2. Um segundo trabalho que importa os dados do bucket para o Amazon Keyspaces.

  3. Um terceiro trabalho para importar dados incrementais.

Como realizar uma migração off-line do Cassandra para o Amazon Keyspaces em execução na Amazon EC2 em uma Amazon Virtual Private Cloud
  1. Primeiro você usa AWS Glue para exportar dados da tabela do Cassandra no formato Parquet e salvá-los em um bucket do Amazon S3. Você precisa executar um AWS Glue trabalho usando um AWS Glue conector a um VPC local onde reside a EC2 instância da Amazon que executa o Cassandra. Em seguida, usando o endpoint privado do Amazon S3, você pode salvar dados no bucket do Amazon S3.

    O diagrama a seguir ilustra essas etapas.

    Migração de dados do Apache Cassandra da Amazon em EC2 execução em um bucket para o VPC Amazon S3 usando AWS Glue.
  2. Embaralhe os dados no bucket do Amazon S3 para melhorar a randomização dos dados. Dados importados uniformemente permitem um tráfego mais distribuído na tabela de destino.

    Essa etapa é necessária ao exportar dados do Cassandra com partições grandes (partições com mais de 1000 linhas) para evitar padrões de teclas de atalho ao inserir os dados no Amazon Keyspaces. Problemas com teclas de atalho causam problemas WriteThrottleEvents no Amazon Keyspaces e resultam em maior tempo de carregamento.

    A AWS Glue O job embaralha os dados de um bucket do Amazon S3 e os retorna para outro bucket do Amazon S3.
  3. Use outro AWS Glue trabalho para importar dados do bucket do Amazon S3 para o Amazon Keyspaces. Os dados embaralhados no bucket do Amazon S3 são armazenados no formato Parquet.

    A ferramenta AWS Glue o trabalho de importação pega dados embaralhados do bucket do Amazon S3 e os move para uma tabela do Amazon Keyspaces.