Opções para migrar os seus dados no local ou na nuvem para Azure Cosmos DB

APLICA-SE A: API de SQL API para Cassandra API do Gremlin API de Tabela API do Azure Cosmos DB para MongoDB

Pode carregar dados de várias fontes de dados para a Azure Cosmos DB. Uma vez que a Azure Cosmos DB suporta várias APIs, os alvos podem ser qualquer uma das APIs existentes. Seguem-se alguns cenários em que migra dados para a Azure Cosmos DB:

  • Mover dados de um contentor Azure Cosmos para outro recipiente na mesma base de dados ou em bases de dados diferentes.
  • Deslocar dados entre recipientes dedicados a recipientes de base de dados partilhados.
  • Mover dados de uma conta Azure Cosmos localizada na região1 para outra conta Azure Cosmos na mesma ou numa região diferente.
  • Mover dados de uma fonte como o armazenamento de blob Azure, um ficheiro JSON, base de dados Oracle, Couchbase, DynamoDB para Azure Cosmos DB.

De forma a apoiar caminhos de migração das várias fontes para as diferentes APIs Azure Cosmos, existem múltiplas soluções que fornecem manuseamento especializado para cada caminho de migração. Este documento lista as soluções disponíveis e descreve as suas vantagens e limitações.

Fatores que afetam a escolha da ferramenta de migração

Os seguintes fatores determinam a escolha da ferramenta de migração:

  • Migração online vs offline: muitas ferramentas de migração indicam um caminho para fazer uma migração única. Tal significa que as aplicações que acedem à base de dados podem deparar-se com um período de tempo de inatividade. Algumas soluções de migração apresentam uma forma de fazer a migração em direto, onde há um pipeline de replicação configurado entre a origem e o destino.

  • Fonte de dados: Os dados existentes podem estar em várias fontes de dados como o Oracle DB2, Datastax Cassanda, Base de Dados SQL do Azure, PostgreSQL, etc. Os dados também podem estar numa conta DB Azure Cosmos existente e a intenção de migração pode ser alterar o modelo de dados ou repartir os dados num recipiente com uma chave de partição diferente.

  • API do Azure Cosmos DB: para a API SQL no Azure Cosmos DB, existe uma variedade de ferramentas desenvolvidas pela equipa do Azure Cosmos DB que ajudam nos diferentes cenários de migração. Todas as outras APIs têm o seu próprio conjunto especializado de ferramentas desenvolvidas e mantidas pela comunidade. Como o Azure Cosmos DB suporta estas APIs ao nível do protocolo de transmissão, estas ferramentas também deverão funcionar tal como estão durante a migração dos dados para o Azure Cosmos DB. No entanto, podem necessitar de um processamento personalizado para limitações, uma vez que este conceito é específico do Azure Cosmos DB.

  • Tamanho dos dados: a maioria das ferramentas de migração funciona muito bem para conjuntos de dados mais pequenos. Quando o conjunto de dados excede algumas centenas de gigabytes, as opções de ferramentas de migração são limitadas.

  • Duração esperada da migração: as migrações podem ser configuradas para ocorrerem a um ritmo lento e incremental que consome menos débito ou podem consumir todo o débito aprovisionado no contentor do Azure Cosmos DB de destino e concluir a migração em menos tempo.

API SQL do Azure Cosmos DB

Se precisar de ajuda no planeamento de capacidades, considere ler o nosso guia para estimar ru/s usando o planejador de capacidades Azure Cosmos DB.

Tipo de migração Solução Fontes apoiadas Alvos apoiados Considerações
Offline Ferramenta de Migração de Dados •Ficheiros JSON/CSV
•API SQL do Azure Cosmos DB
•MongoDB
•SQL Server
•Armazenamento de Tabelas
•AWS DynamoDB
•Armazenamento de Blobs do Azure
•API SQL do Azure Cosmos DB
•Azure Cosmos DB Tabelas API
•Ficheiros JSON
• Fácil de configurar e suporta múltiplas fontes.
• Não é adequado para grandes conjuntos de dados.
Offline Azure Data Factory •Ficheiros JSON/CSV
•API SQL do Azure Cosmos DB
•API do Azure Cosmos DB para MongoDB
•MongoDB
•SQL Server
•Armazenamento de Tabelas
•Armazenamento de Blobs do Azure

Consulte o artigo da Azure Data Factory para outras fontes apoiadas.
•API SQL do Azure Cosmos DB
•API do Azure Cosmos DB para MongoDB
•Ficheiros JSON

Consulte o artigo da Azure Data Factory para outros alvos suportados.
• Fácil de configurar e suporta múltiplas fontes.
• Faz uso da biblioteca de executor a granel Azure Cosmos.
• Adequado para grandes conjuntos de dados.
• Falta de controlo - Significa que, se ocorrer um problema durante a migração, é necessário reiniciar todo o processo de migração.
• Falta de uma fila de cartas mortas - Significa que alguns ficheiros erróneos podem parar todo o processo de migração.
Offline Conector Azure Cosmos DB Spark Azure Cosmos DB SQL API.

Pode utilizar outras fontes com conectores adicionais do ecossistema Spark.
Azure Cosmos DB SQL API.

Pode utilizar outros alvos com conectores adicionais do ecossistema Spark.
• Faz uso da biblioteca de executor a granel Azure Cosmos.
• Adequado para grandes conjuntos de dados.
• Precisa de uma configuração personalizada da Spark.
• A faísca é sensível às inconsistências do esquema e isso pode ser um problema durante a migração.
Offline Ferramenta personalizada com biblioteca de executor a granel Cosmos DB A fonte depende do seu código personalizado API SQL do Azure Cosmos DB • Fornece capacidades de checkpoint, letras mortas, o que aumenta a resiliência da migração.
• Adequado para conjuntos de dados muito grandes (10 TB+).
• Requer a configuração personalizada desta ferramenta funcionando como um Serviço de Aplicações.
Online Funções Cosmos DB + ChangeFeed API API SQL do Azure Cosmos DB API SQL do Azure Cosmos DB • Fácil de montar.
• Funciona apenas se a fonte for um contentor Azure Cosmos DB.
• Não é adequado para grandes conjuntos de dados.
• Não captura as eliminações do recipiente de origem.
Online Serviço de Migração Personalizada usando ChangeFeed API SQL do Azure Cosmos DB API SQL do Azure Cosmos DB • Fornece rastreio de progresso.
• Funciona apenas se a fonte for um contentor Azure Cosmos DB.
• Funciona para conjuntos de dados maiores também.
• Requer que o utilizador crie um Serviço de Aplicações para hospedar o processador Change feed.
• Não captura as eliminações do recipiente de origem.
Online Striim •Oráculo
•Apache Cassandra

Consulte o site da Striim para outras fontes apoiadas.
•API SQL do Azure Cosmos DB
• Azure Cosmos DB Cassandra API

Consulte o site Striim para outros alvos suportados.
•Trabalha com uma grande variedade de fontes como o Oracle, DB2, SQL Server.
• Fácil de construir gasodutos ETL e fornece um dashboard para monitorização.
• Suporta conjuntos de dados maiores.
• Uma vez que esta é uma ferramenta de terceiros, precisa de ser comprada no mercado e instalada no ambiente do utilizador.

Azure Cosmos DB Mongo API

Siga o guia de pré-migração para planear a sua migração.

Quando estiver pronto para migrar, pode encontrar orientações detalhadas sobre as ferramentas de migração abaixo

Em seguida, siga o nosso guia pós-migração para otimizar a sua propriedade de dados DB Azure Cosmos uma vez migrado.

Um resumo das vias de migração da sua solução atual para Azure Cosmos DB API para MongoDB é fornecido abaixo:

Tipo de migração Solução Fontes apoiadas Alvos apoiados Considerações
Online Azure Database Migration Service MongoDB API do Azure Cosmos DB para MongoDB • Faz uso da biblioteca de executor a granel Azure Cosmos.
• Adequado para grandes conjuntos de dados e cuida de replicar alterações ao vivo.
• Funciona apenas com outras fontes do MongoDB.
Offline Azure Database Migration Service MongoDB API do Azure Cosmos DB para MongoDB • Faz uso da biblioteca de executor a granel Azure Cosmos.
• Adequado para grandes conjuntos de dados e cuida de replicar alterações ao vivo.
• Funciona apenas com outras fontes do MongoDB.
Offline Azure Data Factory •Ficheiros JSON/CSV
•API SQL do Azure Cosmos DB
•API do Azure Cosmos DB para MongoDB
•MongoDB
•SQL Server
•Armazenamento de Tabelas
•Armazenamento de Blobs do Azure

Consulte o artigo da Azure Data Factory para outras fontes apoiadas.
•API SQL do Azure Cosmos DB
•API do Azure Cosmos DB para MongoDB
• Ficheiros JSON

Consulte o artigo da Azure Data Factory para outros alvos suportados.
• Fácil de configurar e suporta múltiplas fontes.
• Faz uso da biblioteca de executor a granel Azure Cosmos.
• Adequado para grandes conjuntos de dados.
• A falta de controlo significa que qualquer questão durante o processo de migração exigiria um reinício de todo o processo de migração.
• A falta de uma fila de cartas mortas significaria que alguns ficheiros erróneos poderiam parar todo o processo de migração.
• Precisa de código personalizado para aumentar a produção de leitura para determinadas fontes de dados.
Offline Ferramentas mongo existentes (mongodump, mongorestore, Studio3T) MongoDB API do Azure Cosmos DB para MongoDB • Fácil de configurar e integração.
• Precisa de manuseamento personalizado para aceleradores.

API para Cassandra do Azure Cosmos DB

Se precisar de ajuda no planeamento de capacidades, considere ler o nosso guia para estimar ru/s usando o planejador de capacidades Azure Cosmos DB.

Tipo de migração Solução Fontes apoiadas Alvos apoiados Considerações
Offline cqlsh comando COPY Ficheiros CSV API para Cassandra do Azure Cosmos DB • Fácil de montar.
• Não é adequado para grandes conjuntos de dados.
• Só funciona quando a fonte é uma mesa cassandra.
Offline Tabela de cópia com Faísca •Apache Cassandra
•API para Cassandra do Azure Cosmos DB
API para Cassandra do Azure Cosmos DB • Pode fazer uso das capacidades de Faísca para paralelizar a transformação e a ingestão.
• Necessita de configuração com uma política de reagem personalizada para manusear aceleradores.
Online Striim (da Oráculo DB/Apache Cassandra) •Oráculo
•Apache Cassandra

Consulte o site da Striim para outras fontes apoiadas.
•API SQL do Azure Cosmos DB
•API para Cassandra do Azure Cosmos DB

Consulte o site Striim para outros alvos suportados.
•Trabalha com uma grande variedade de fontes como o Oracle, DB2, SQL Server.
• Fácil de construir gasodutos ETL e fornece um dashboard para monitorização.
• Suporta conjuntos de dados maiores.
• Uma vez que esta é uma ferramenta de terceiros, precisa de ser comprada no mercado e instalada no ambiente do utilizador.
Online Blitzz (da Oráculo DB/Apache Cassandra) •Oráculo
•Apache Cassandra

Consulte o site da Blitzz para outras fontes apoiadas.
Azure Cosmos DB Cassandra API.

Consulte o site blitzz para outros alvos suportados.
• Suporta conjuntos de dados maiores.
• Uma vez que esta é uma ferramenta de terceiros, precisa de ser comprada no mercado e instalada no ambiente do utilizador.

Outras APIs

Para as APIs que não a API SQL, a API de Mongo e a API Cassandra, existem várias ferramentas apoiadas por cada um dos ecossistemas existentes da API.

API de Tabela

API do Gremlin

Passos seguintes

  • A tentar planear a capacidade de uma migração para a Azure Cosmos DB?
  • Saiba mais experimentando as aplicações de amostra que consomem a biblioteca de executor a granel em .NET e Java.
  • A biblioteca de executor a granel está integrada no conector Cosmos DB Spark, para saber mais, ver artigo do conector Azure Cosmos DB Spark.
  • Contacte a equipa de produtos da Azure Cosmos DB abrindo um bilhete de apoio ao abrigo do tipo de problema "General Advisory" e do subtipo de problemas de migração "Grandes (TB+)" para ajuda adicional com migrações em larga escala.