Migrar do Apache Cassandra para o Bigtable
Este documento orienta você no processo de migração de dados do Apache Cassandra para o Bigtable com o mínimo de interrupção. Ela descreve como usar ferramentas de código aberto, como o adaptador de proxy do Cassandra para Bigtable ou o cliente do Cassandra para Bigtable em Java, para realizar a migração. Antes de começar, confira o artigo Bigtable para usuários do Cassandra.
Escolher uma abordagem de migração
É possível migrar do Apache Cassandra para o Bigtable usando uma das seguintes abordagens:
- O adaptador de proxy do Cassandra para o Bigtable permite conectar aplicativos baseados no Cassandra ao Bigtable sem mudar os drivers do Cassandra. Essa abordagem é ideal para aplicativos que exigem mudanças mínimas no código.
- O cliente do Cassandra para Bigtable em Java permite integrar diretamente ao Bigtable e substituir os drivers do Cassandra. Essa abordagem é ideal para aplicativos que exigem alto desempenho e flexibilidade.
Adaptador de proxy do Cassandra para o Bigtable
O adaptador de proxy do Cassandra para o Bigtable permite conectar aplicativos baseados no Cassandra ao Bigtable. O adaptador de proxy funciona como uma interface do Cassandra compatível com fio e permite que seu aplicativo interaja com o Bigtable usando a linguagem de consulta do Cassandra (CQL). O uso do adaptador de proxy não exige que você mude os drivers do Cassandra, e os ajustes de configuração são mínimos.
Para configurar e configurar o adaptador de proxy, consulte Adaptador de proxy do Cassandra para o Bigtable.
Para saber quais versões do Cassandra são compatíveis com o adaptador de proxy, consulte Versões compatíveis do Cassandra.
Limitações
O adaptador de proxy do Cassandra para Bigtable oferece suporte limitado a determinados tipos de dados, funções, consultas e cláusulas. Para mais informações, consulte Proxy do Cassandra para o Bigtable: limitações.
Keyspace do Cassandra
Um keyspace do Cassandra armazena suas tabelas e gerencia recursos de maneira semelhante a uma instância do Bigtable. O adaptador de proxy do Cassandra para Bigtable processa a nomenclatura do keyspace de forma transparente para que você possa consultar usando os mesmos keyspaces. No entanto, é necessário criar uma nova instância do Bigtable para agrupar logicamente suas tabelas. Também é necessário configurar a replicação do Bigtable separadamente.
Suporte a DDL
O adaptador de proxy do Cassandra para Bigtable é compatível com operações de linguagem de definição de dados (DDL). Com as operações de DDL, é possível criar e gerenciar tabelas diretamente com comandos CQL. Recomendamos essa abordagem para configurar seu esquema porque ela é semelhante ao SQL, mas não é necessário definir o esquema em arquivos de configuração e executar scripts para criar tabelas.
Os exemplos a seguir mostram como o adaptador de proxy do Cassandra para Bigtable é compatível com operações de DDL:
Para criar uma tabela do Cassandra usando 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 excluir uma tabela, execute o comando
DROP TABLE
:DROP TABLE keyspace.table;
Para mais informações, consulte Suporte a DDL para criação de esquema (método recomendado).
Suporte a DML
O adaptador de proxy do Cassandra para o Bigtable é compatível com operações da linguagem de manipulação de dados (DML), como INSERT
, DELETE
, UPDATE
e SELECT
.
Para executar as consultas DML brutas, todos os valores, exceto os numéricos, precisam ter aspas simples, conforme mostrado nos exemplos a seguir:
SELECT * FROM keyspace.table WHERE name='john doe';
INSERT INTO keyspace.table (id, name) VALUES (1, 'john doe');
Realizar migração sem inatividade
Use o adaptador de proxy do Cassandra para Bigtable com a ferramenta de proxy de migração sem inatividade (ZDM, na sigla em inglês) de código aberto e a ferramenta de migração de dados do Cassandra para migrar dados com tempo de inatividade mínimo.
O diagrama a seguir mostra as etapas para migrar do Cassandra para o Bigtable usando o adaptador de proxy:


Para migrar do Cassandra para o Bigtable, siga estas etapas:
- Conecte seu aplicativo Cassandra à ferramenta de proxy do ZDM.
- Ative gravações duplas no Cassandra e no Bigtable.
- Mova dados em massa usando a ferramenta Cassandra Data Migrator.
- Valide sua migração. Depois da validação, encerre a conexão com o Cassandra e conecte-se diretamente ao Bigtable.
Ao usar o adaptador de proxy com a ferramenta de proxy ZDM, as seguintes funcionalidades de migração são compatíveis:
- Gravações duplas: mantenha a disponibilidade de dados durante a migração
- Leituras assíncronas: escalone e teste a capacidade da sua instância do Bigtable.
- Verificação e geração de relatórios de dados automatizadas: garante a integridade dos dados durante todo o processo.
- Mapeamento de dados: mapeie campos e tipos de dados para atender aos seus padrões 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 do Cassandra para Bigtable em Java
É possível fazer a integração diretamente com o Bigtable e substituir os drivers do Cassandra. A biblioteca de cliente do Cassandra para Bigtable em Java permite integrar aplicativos Java baseados no Cassandra ao Bigtable usando CQL.
Para instruções sobre como criar a biblioteca e incluir a dependência no código do aplicativo, consulte Cliente do Cassandra para Bigtable em Java.
O exemplo a seguir mostra como configurar seu aplicativo com o cliente Cassandra para Bigtable em Java:
Outras ferramentas de código aberto do Cassandra
Devido à compatibilidade de fio do adaptador de proxy do Cassandra para Bigtable com CQL, é possível usar outras ferramentas no ecossistema de código aberto do Cassandra. Essas ferramentas incluem:
- Cqlsh: O shell CQL permite que você se conecte diretamente ao Bigtable pelo adaptador de proxy. É possível usar esse recurso para depuração e pesquisas rápidas de dados usando CQL.
- Migrador de dados do Cassandra (CDM): essa ferramenta baseada no Spark é adequada para migrar grandes volumes (até bilhões de linhas) de dados históricos. A ferramenta oferece validação, relatórios de diferenças e recursos de repetição, além de ser totalmente compatível com o adaptador de proxy.