Migre do Apache Cassandra para o Bigtable
Este documento explica o processo de migração de dados do Apache Cassandra para o Bigtable com a mínima interrupção. Descreve como usar ferramentas de código aberto, como o adaptador de proxy do Cassandra para o Bigtable ou o cliente do Cassandra para Java, para fazer a migração. Antes de começar, certifique-se de que conhece o Bigtable para utilizadores do Cassandra.
Escolha uma abordagem de migração
Pode migrar do Apache Cassandra para o Bigtable através de uma das seguintes abordagens:
- O adaptador de proxy do Cassandra para o Bigtable permite-lhe ligar aplicações baseadas no Cassandra ao Bigtable sem alterar os controladores do Cassandra. Esta abordagem é ideal para aplicações que requerem alterações mínimas ao código.
- O cliente Cassandra para Bigtable para Java permite-lhe integrar-se diretamente com o Bigtable e substituir os controladores do Cassandra. Esta abordagem é ideal para aplicações que requerem elevado desempenho e flexibilidade.
Adaptador de proxy do Cassandra para o Bigtable
O adaptador de proxy do Cassandra para o Bigtable permite-lhe ligar aplicações baseadas no Cassandra ao Bigtable. O adaptador de proxy funciona como uma interface Cassandra compatível com fios e permite que a sua aplicação interaja com o Bigtable através da linguagem de consulta Cassandra (CQL). A utilização do adaptador de proxy não requer que altere os controladores do Cassandra e os ajustes de configuração são mínimos.
Para configurar o adaptador de proxy, consulte o artigo Adaptador de proxy do Cassandra para o Bigtable.
Para saber que versões do Cassandra são compatíveis com o adaptador de proxy, consulte o artigo Versões do Cassandra compatíveis.
Limitações
O adaptador de proxy do Cassandra para o Bigtable oferece suporte limitado para determinados tipos de dados, funções, consultas e cláusulas. Para mais informações, consulte o artigo Proxy do Cassandra para o Bigtable: limitações.
Cassandra keyspace
Um keyspace do Cassandra armazena as suas tabelas e gere os recursos de forma semelhante a uma instância do Bigtable. O adaptador de proxy do Cassandra para o Bigtable processa a nomenclatura do keyspace de forma transparente, para que possa consultar através dos mesmos keyspaces. No entanto, tem de criar uma nova instância do Bigtable para conseguir o agrupamento lógico das suas tabelas. Também tem de configurar a replicação do Bigtable separadamente.
Compatibilidade com DDL
O adaptador de proxy do Cassandra para o Bigtable suporta operações de linguagem de definição de dados (LDD). As operações DDL permitem-lhe criar e gerir tabelas diretamente através de comandos CQL. Recomendamos esta abordagem para configurar o seu esquema, porque é semelhante ao SQL, mas não precisa de definir o esquema em ficheiros de configuração e, em seguida, executar scripts para criar tabelas.
Os exemplos seguintes mostram como o adaptador de proxy do Cassandra para o Bigtable suporta operações de LDD:
Para criar uma tabela do Cassandra com o CQL, execute o comando
CREATE TABLE
:CREATE TABLE keyspace.table ( id bigint, name text, age int, PRIMARY KEY ((id), name) );
Para adicionar uma nova coluna à tabela, execute o comando
ALTER TABLE
:ALTER TABLE keyspace.table ADD email text;
Para eliminar uma tabela, execute o comando
DROP TABLE
:DROP TABLE keyspace.table;
Para mais informações, consulte o artigo Suporte de DDL para a criação de esquemas (método recomendado).
Compatibilidade com DML
O adaptador de proxy do Cassandra para o Bigtable suporta operações de linguagem de manipulação de dados (DML), como INSERT
, DELETE
, UPDATE
e SELECT
.
Para executar as consultas DML não processadas, todos os valores, exceto os numéricos, têm de ter aspas simples, conforme mostrado nos exemplos seguintes:
SELECT * FROM keyspace.table WHERE name='john doe';
INSERT INTO keyspace.table (id, name) VALUES (1, 'john doe');
Alcance uma migração sem tempo de inatividade
Pode usar o adaptador de proxy do Cassandra para o Bigtable com a ferramenta de proxy de migração sem tempo de inatividade (ZDM) de código aberto e a ferramenta migrador de dados do Cassandra para migrar dados com um tempo de inatividade mínimo.
O diagrama seguinte mostra os passos para migrar do Cassandra para o Bigtable através do adaptador de proxy:


Para migrar o Cassandra para o Bigtable, siga estes passos:
- Associe a sua aplicação Cassandra à ferramenta de proxy do ZDM.
- Ative as escritas duplas no Cassandra e no Bigtable.
- Mova dados em massa com a ferramenta Cassandra data migrator.
- Valide a migração. Depois de validada, pode terminar a ligação ao Cassandra e ligar-se diretamente ao Bigtable.
Quando usar o adaptador de proxy com a ferramenta de proxy ZDM, são suportadas as seguintes capacidades de migração:
- Escritas duplas: mantenha a disponibilidade dos dados durante a migração
- Leituras assíncronas: dimensione e teste a resistência da sua instância do Bigtable
- Validação e relatórios de dados automatizados: garantir a integridade dos dados ao longo do processo
- Mapeamento de dados: mapeie os campos e os tipos de dados para cumprir as suas normas de produção
Para praticar a migração do Cassandra para o Bigtable, consulte o codelab Migração do Cassandra para o Bigtable com um proxy de gravação dupla.
Cliente Cassandra para Bigtable para Java
Pode integrar-se diretamente com o Bigtable e substituir os seus controladores do Cassandra. A biblioteca do cliente do Cassandra para Java permite-lhe integrar aplicações Java baseadas no Cassandra com o Bigtable através do CQL.
Para obter instruções sobre como criar a biblioteca e incluir a dependência no código da aplicação, consulte o artigo Cliente do Cassandra para o Bigtable para Java.
O exemplo seguinte mostra como configurar a sua aplicação com o cliente Cassandra para Bigtable para Java:
Ferramentas de código aberto do Cassandra adicionais
Devido à compatibilidade de fios do adaptador de proxy do Cassandra para o Bigtable com CQL, pode usar ferramentas adicionais no ecossistema de código aberto do Cassandra. Estas ferramentas incluem o seguinte:
- Cqlsh: A shell CQL permite-lhe ligar-se diretamente ao Bigtable através do adaptador de proxy. Pode usá-la para depuração e pesquisas rápidas de dados através do CQL.
- Cassandra Data Migrator (CDM): Esta ferramenta baseada no Spark é adequada para migrar grandes volumes (até milhares de milhões de linhas) de dados do histórico. A ferramenta oferece validação, relatórios de diferenças e capacidades de repetição, e é totalmente compatível com o adaptador de proxy.