Compartilhar via


Configurações de computação e armazenamento para clusters vCore do Azure Cosmos DB for MongoDB

APLICA-SE AO: MongoDB vCore

Os recursos de computação são fornecidos como vCores, que representam a CPU lógica do hardware subjacente. O tamanho do armazenamento para provisionamento refere-se à capacidade disponível para os fragmentos em seu cluster. O armazenamento é usado para os arquivos de banco de dados, os logs de transações e os logs do servidor MySQL. Você pode selecionar as configurações de computação e armazenamento de forma independente. Os valores de computação e armazenamento selecionados se aplicam a cada fragmento no cluster.

Segurança no Azure Cosmos DB for MongoDB vCore

A quantidade total de RAM em um único nó baseia-se no número selecionado de vCores.

Nível do cluster vCores Um fragmento, GiB RAM
M25 2 (com capacidade de intermitência) 8
M30 2 8
M40 4 16
M50 8 32
M60 16 64
M80 32 128
M200 64 256

Armazenamento na vCore do Azure Cosmos DB for MongoDB

A quantidade total de armazenamento que você provisiona também define a capacidade disponível para o nó de camada básica.

Tamanho de armazenamento, GiB IOPS máximo
32 3.500†
64 3.500†
128 3.500†
256 3.500†
512 3.500†
1\.024 5\.000
2\.048 7\.500
4.095 7\.500
8\.192 16.000
16.384 18.000
32.767 20,000

† IOPS máximo com bursting de disco livre. O armazenamento de até 512 GiB inclusivo vem com a intermitência de disco livre habilitada.

IOPS máximo para sua configuração de computação/armazenamento

Cada configuração de computação tem um limite de IOPS que depende do número de vCores em um nó. Selecione a configuração de computação do cluster para utilizar totalmente o IOPS no armazenamento selecionado.

Tamanho de armazenamento IOPS de armazenamento, até Nível mínimo de computação Mínimo de vCores
Até 0.5 TiB 3.500† M30 2 vCores
1 TiB 5\.000 M40 4 vCores
2 TiB 7.500 M50 8 vCores
4 TiB 7\.500 M50 8 vCores
8 TiB 16.000 M60 16 vCores
16 TiB 18.000 M60 16 vCores
32 TiB 20.000 M60 16 vCores

† IOPS máximo com bursting de disco livre. O armazenamento de até 512 GiB inclusivo vem com a intermitência de disco livre habilitada.

Explicando de outra forma, se você precisar de 8 TiB de armazenamento por nó ou mais, selecione 16 vCores ou mais para a configuração de computação do nó. Isso permitiria maximizar o uso de IOPS fornecido pelo armazenamento selecionado.

Considerações sobre computação e armazenamento

Considerações sobre o conjunto de trabalho e a memória

No Azure Cosmos DB for MongoDB vCore, o conjunto de trabalho refere-se à parte dos dados que são acessados com frequência e usados por seus aplicativos. Isso inclui os dados e os índices que são lidos ou gravados regularmente durante as operações típicas do aplicativo. O conceito de um conjunto de trabalho é importante para otimização de desempenho porque o MongoDB, como muitos bancos de dados, tem o melhor desempenho quando o conjunto de trabalho se encaixa na RAM.

Para definir e entender o conjunto de trabalho do banco de dados MongoDB, considere os seguintes componentes:

  1. Dados acessados com frequência: esses dados incluem documentos que seu aplicativo lê ou atualiza regularmente.
  2. Índices: os índices usados nas operações de consulta também fazem parte do conjunto de trabalho porque precisam ser carregados na memória para garantir o acesso rápido.
  3. Padrões de uso do aplicativo: analisar os padrões de uso do aplicativo pode ajudar a identificar quais partes dos dados são acessadas com mais frequência.

Ao manter o conjunto de trabalho na RAM, você pode minimizar operações de E/S de disco mais lentas, melhorando assim o desempenho do banco de dados do MongoDB. Se você descobrir que seu conjunto de trabalho excede a RAM disponível, considere otimizar seu modelo de dados, adicionar mais RAM ou usar a fragmentação para distribuir os dados em vários nós.

Como escolher a configuração ideal para uma carga de trabalho

Determinar a configuração de computação e armazenamento correta para a carga de trabalho da vCore do Azure Cosmos DB for MongoDB envolve a avaliação de vários fatores relacionados aos requisitos e aos padrões de uso do aplicativo. As principais etapas e considerações para determinar a configuração ideal incluem:

  1. Entenda sua carga de trabalho

    • Volume de dados: estime o tamanho total dos dados, incluindo índices.
    • Taxa de leitura/gravação: determine a taxa de operações de leitura para operações de gravação.
    • Padrões de consulta: analise os tipos de consultas que seu aplicativo executa. Por exemplo, leituras simples, agregações complexas.
    • Simultaneidade: avalie o número de operações simultâneas que seu banco de dados precisa manipular.
  2. Monitorar o desempenho atual

    • Utilização de recursos: use ferramentas de monitoramento para controlar a CPU, a memória, a E/S do disco e o uso da rede antes de mover sua carga de trabalho para o Azure e monitorar as métricas depois de começar a executar a carga de trabalho do MongoDB em um cluster da vCore do Azure Cosmos DB for MongoDB.
    • Métricas de desempenho: monitore as principais métricas de desempenho, como latência, taxa de transferência e taxas de ocorrência de cache.
    • Gargalos: identifique os gargalos de desempenho existentes, como alto uso de CPU, pressão de memória ou E/S de disco lento.
  3. Estime os requisitos de recursos

    • Memória: verifique se o conjunto de trabalho (dados e índices acessados com frequência) se encaixa na RAM. Se o tamanho do conjunto de trabalho exceder a memória disponível, considere adicionar mais RAM ou otimizar seu modelo de dados.
    • CPU: escolha uma configuração de CPU que possa lidar com os requisitos de carga e simultaneidade da consulta. Cargas de trabalho com uso intensivo de CPU podem exigir mais núcleos. Use a métrica "porcentagem da CPU" com a agregação "Máx" no cluster da vCore do Azure Cosmos DB for MongoDB para ver padrões históricos de uso de computação.
    • IOPS de armazenamento: selecione o armazenamento com IOPS suficiente para lidar com suas operações de leitura e gravação. Use a métrica "IOPS"com a agregação '"Máx" no cluster para ver o uso histórico de IOPS de armazenamento.
    • Rede: verifique a largura de banda de rede adequada para lidar com a transferência de dados entre seu aplicativo e o banco de dados, especialmente para configurações distribuídas. Verifique se você configurou o host para seu aplicativo MongoDB para dar suporte a tecnologias de rede aceleradas, como SR-IOV.
  4. Dimensione adequadamente

    • Dimensionamento vertical: dimensionar a computação/RAM para cima e para baixo e dimensionar o armazenamento verticalmente.
      • Computação: aumente a vCore / RAM em um cluster se sua carga de trabalho exigir aumento temporário ou geralmente estiver cruzando mais de 70% da utilização da CPU por períodos prolongados.
      • Verifique se você tem a retenção de dados apropriada no banco de dados da vCore do Azure Cosmos DB for MongoDB. A retenção permite evitar o uso desnecessário do armazenamento. Monitore o uso do armazenamento definindo alertas nas métricas "Porcentagem de armazenamento" e/ou "Armazenamento usado" com agregação "Máx". Considere aumentar o armazenamento, pois o tamanho da carga de trabalho ultrapassa 70% de uso.
    • Dimensionamento horizontal: considere usar vários fragmentos para seu cluster para distribuir seus dados em vários nós da vCore do Azure Cosmos DB for MongoDB para obter ganhos de desempenho e melhor gerenciamento de capacidade à medida que sua carga de trabalho aumenta. Isso é especialmente útil para grandes conjuntos de dados (mais de 2 a 4 TiB) e aplicativos de alta taxa de transferência.
  5. Teste e itere

    • Benchmarking: execute a medição para as consultas usadas com mais frequência com configurações diferentes para determinar o impacto no desempenho. Use as métricas de CPU/RAM e IOPS e o benchmarking no nível do aplicativo.
    • Teste de carga: realize testes de carga para simular cargas de trabalho de produção e validar o desempenho da configuração escolhida.
    • Monitoramento contínuo: monitore continuamente a implantação da vCore do Azure Cosmos DB for MongoDB e ajuste os recursos conforme necessário com base na alteração de cargas de trabalho e padrões de uso.

Avaliando sistematicamente esses fatores e monitorando e ajustando continuamente sua configuração, você pode garantir que sua implantação do MongoDB seja bem otimizada para sua carga de trabalho específica.

Considerações sobre o armazenamento

Decidir sobre o tamanho de armazenamento apropriado para sua carga de trabalho envolve várias considerações para garantir o desempenho e a escalabilidade ideais. Aqui estão as considerações sobre o tamanho do armazenamento na vCore do Azure Cosmos DB for MongoDB:

  1. Estime o tamanho dos dados:

    • Calcule o tamanho esperado dos dados da vCore do Azure Cosmos DB for MongoDB. Considere:
      • Tamanho dos dados atuais: se estiver migrando de um banco de dados existente.
      • Taxa de crescimento: estime quantos dados serão adicionados ao longo do tempo.
      • Tamanho e estrutura do documento: entenda o esquema de dados e os tamanhos do documento, pois eles afetam a eficiência do armazenamento.
  2. Fator em índices:

    • A vCore do Azure Cosmos DB for MongoDB usa índices para obter um consulta eficiente. Os índices consomem espaço extra em disco.
    • Estimar o tamanho dos índices com base em:
      • Número de índices.
      • Tamanho dos campos indexados.
  3. Considerações sobre o desempenho:

    • O desempenho do disco afeta as operações de banco de dados, especialmente para cargas de trabalho que não podem ajustar seu conjunto de trabalho à RAM. Considere:
      • Taxa de transferência de E/S: IOPS ou Operações de Entrada/Saída por Segundo é o número de solicitações que são enviadas para discos de armazenamento em um segundo. O tamanho de armazenamento maior vem com mais IOPS. Verifique a taxa de transferência adequada para operações de leitura/gravação. Use a métrica "IOPS"com a agregação "Máx" para monitorar IOPS usada em seu cluster.
      • Latência: é o tempo necessário para um aplicativo receber uma solicitação individual, enviá-la aos discos de armazenamento e enviar a resposta ao cliente. Essa é uma medida crítica do desempenho de um aplicativo, além da IOPS e da taxa de transferência. A latência é definida em grande parte pelo tipo de armazenamento usado e pela configuração de armazenamento. Em um serviço gerenciado como o Azure Cosmos DB for MongoDB, o armazenamento rápido, como discos SSD Premium, é usado com configurações otimizadas para reduzir a latência.
  4. Crescimento e escalabilidade futuros:

    • Planeje as necessidades futuras de crescimento e escalabilidade de dados.
    • Aloque mais espaço em disco além das necessidades atuais para acomodar o crescimento sem expansões de armazenamento frequentes.
  5. Cálculo de exemplo:

    • Suponha que o tamanho inicial dos dados seja de 500 GiB.
    • Com os índices, pode crescer para 700 GiB.
    • Se você prever dobrar os dados em dois anos, planeje 1.4 TiB (700 GiB * 2).
    • Adicione um buffer para sobrecarga, crescimento e necessidades operacionais.
    • Talvez você queira começar com um armazenamento de 1 TiB hoje e dimensioná-lo para 2 TiB depois que seu tamanho crescer mais de 800 GiB.

Decidir sobre o tamanho do armazenamento envolve uma combinação de estimativa das necessidades de dados atuais e futuras, considerando a indexação e a compactação e a garantia de desempenho e escalabilidade adequados. O monitoramento e o ajuste regulares com base nas tendências reais de uso e crescimento também são cruciais para manter o desempenho ideal do MongoDB.

Próximas etapas