Passos de otimização pós-migração ao utilizar a API do Azure Cosmos DB para MongoDB

APLICA-SE A: MongoDB

Importante

Leia este guia completo antes de executar os passos pós-migração.

Este guia de pós-migração do MongoDB faz parte de séries sobre a migração do MongoDB. Os passos críticos de migração do MongoDB são pré-migração, migração e pós-migração, conforme mostrado abaixo.

Diagrama de passos de migração.

Descrição geral da pós-migração

Depois de migrar os dados armazenados na base de dados do MongoDB para a API do Azure Cosmos DB para o MongoDB, pode ligar-se ao Azure Cosmos DB e gerir os dados. Este guia fornece os passos que deve ter em conta após a migração. Veja o tutorial Migrate MongoDB to Azure Cosmos DB's API for MongoDB (Migrar o MongoDB para a API do Azure Cosmos DB para MongoDB ) para obter os passos de migração.

Siga estes passos para efetuar uma pós-migração

Nota

O único passo obrigatório após a migração é alterar a cadeia de ligação na sua aplicação para apontar para a sua nova conta do Azure Cosmos DB. Todos os outros passos pós-migração são otimizações recomendadas para melhorar o desempenho da camada de dados. No entanto, se efetuar a transferência de aplicações imediatamente sem os outros passos, a sua aplicação verá imediatamente o impacto de ter uma indexação e consistência não ideais. Especificamente, se efetuar a transferência antes de configurar os índices, a aplicação poderá ver uma queda imediata do preço/desempenho. Tenha em atenção que isto pode ser corrigido. Assim que o índice estiver otimizado, esperamos que o Azure Cosmos DB supere frequentemente a solução de status quo no preço/desempenho.

Pré-requisitos

Neste guia, partimos do princípio de que está a manter um registo do progresso da migração através de algum tipo de artefacto de controlo, como uma folha de cálculo. Se ainda não o fez, recomendamos que leia o guia de pré-migração para obter orientações sobre como criar uma folha de cálculo de migração de património de dados, descobrir os recursos existentes do MongoDB e planear a migração.

Otimizar a política de indexação

Para otimizar o preço e o desempenho, recomendamos que percorra a folha de cálculo de migração do património de dados e crie uma configuração de índice para cada recurso.

  1. Na verdade, recomendamos que planeie os índices durante a fase de pré-migração. Adicione uma coluna à sua folha de cálculo de migração de património de dados para definições de índice.
    • As versões 3.6 e superiores do servidor do Azure Cosmos DB para MongoDB indexam automaticamente o campo _id. Este campo não pode ser removido. Impõe automaticamente a exclusividade do campo _id por chave de partição horizontal. Para indexar campos adicionais, aplique os comandos de gestão de índices do MongoDB. Esta política de indexação predefinida difere do Azure Cosmos DB para NoSQL, que indexa todos os campos por predefinição.

    • Para a versão 3.2 do servidor do Azure Cosmos DB para MongoDB, todos os campos de dados são indexados automaticamente, por predefinição, durante a migração de dados para o Azure Cosmos DB. Em muitos casos, esta política de indexação predefinida é aceitável. Em geral, remover índices otimiza os pedidos de escrita e ter a política de indexação predefinida (ou seja, indexação automática) otimiza os pedidos de leitura.

    • As capacidades de indexação fornecidas pelo Azure Cosmos DB incluem a adição de índices compostos, índices exclusivos e índices TTL (time-to-live). A interface de gestão de índices é mapeada para o comando createIndex(). Saiba mais em Indexação no Azure Cosmos DB e Indexação na API do Azure Cosmos DB para MongoDB.

  2. Aplique estas definições de índice durante a pós-migração.
    • Azure Database Migration Service migra automaticamente coleções do MongoDB com índices exclusivos. No entanto, os índices exclusivos têm de ser criados antes da migração. O Azure Cosmos DB não suporta a criação de índices exclusivos, quando já existem dados nas suas coleções. Para obter mais informações, veja Chaves exclusivas no Azure Cosmos DB.

Distribuir globalmente os seus dados

O Azure Cosmos DB está disponível em todas as regiões do Azure em todo o mundo.

  1. Siga a documentação de orientação no artigo Distribuir dados globalmente na API do Azure Cosmos DB para MongoDB para distribuir globalmente os seus dados. Depois de selecionar o nível de consistência predefinido para a sua conta do Azure Cosmos DB, pode associar uma ou mais regiões do Azure (consoante as suas necessidades de distribuição global). Para elevada disponibilidade e continuidade do negócio, recomendamos sempre a execução em, pelo menos, 2 regiões. Pode rever as sugestões para otimizar o custo das implementações de várias regiões no Azure Cosmos DB.

Definir nível de consistência

O Azure Cosmos DB oferece 5 níveis de consistência bem definidos. Para ler sobre o mapeamento entre os níveis de consistência do MongoDB e do Azure Cosmos DB, leia Níveis de consistência e APIs do Azure Cosmos DB. O nível de consistência predefinido é o nível de consistência da sessão. Alterar o nível de consistência é opcional e pode otimizá-lo para a sua aplicação. Para alterar o nível de consistência com portal do Azure:

  1. Aceda ao painel Consistência Predefinida em Definições.
  2. Selecione o seu nível de consistência

A maioria dos utilizadores deixa o nível de consistência na definição de consistência de sessão predefinida. No entanto, existem compromissos de disponibilidade e desempenho para vários níveis de consistência.

Ligar ou efetuar a transferência da aplicação

O processamento da redução ou ligação da sua aplicação permite-lhe mudar a sua aplicação para utilizar o Azure Cosmos DB assim que a migração estiver concluída. Siga os passos abaixo:

  1. Numa nova janela, inicie sessão no portal do Azure.
  2. No portal do Azure, no painel esquerdo, abra o menu Todos os recursos e localize a conta do Azure Cosmos DB para a qual migrou os dados.
  3. Abra o painel Cadeia de Ligação . O painel do lado direito contém todas as informações de que precisa para se ligar com êxito à sua conta.
  4. Utilize as informações de ligação na configuração da aplicação (ou noutros locais relevantes) para refletir a ligação da API do Azure Cosmos DB para MongoDB na sua aplicação. Captura de ecrã a mostrar as definições de uma Cadeia de Ligação.

Para obter mais detalhes, veja a página Ligar uma aplicação MongoDB ao Azure Cosmos DB .

Otimizar para um desempenho ideal

Um facto conveniente sobre indexação, distribuição global e consistência – todos estes podem ser facilmente configurados e reconfigurados conforme entender. Assim que concluir a transferência da aplicação, recomendamos que monitorize o desempenho da sua aplicação e ajuste estas definições conforme necessário para cumprir os requisitos da sua aplicação.

Passos seguintes