Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os recursos de computação do Azure DocumentDB são fornecidos como vCores, que representam a CPU lógica do hardware subjacente. O tamanho de armazenamento para provisionamento refere-se à capacidade disponível para os shards no seu cluster.
O armazenamento é utilizado para ficheiros de base de dados, ficheiros temporários, registos de transações e registos do servidor de base de dados. Pode selecionar as definições de computação e armazenamento de forma independente. Os valores de computação e armazenamento selecionados aplicam-se a cada fragmento do cluster.
Compute in Azure DocumentDB
A quantidade total de RAM num único fragmento baseia-se no número selecionado de vCores.
| Camada de agrupamento | vCores | Um fragmento, GiB de RAM |
|---|---|---|
| M10 | 1 (estourável) | 2 |
| M20 | 2 (rebentável) | 4 |
| M25 | 2 (rebentável) | 8 |
| M30 | 2 | 8 |
| M40 | 4 | 16 |
| M50 | 8 | 32 |
| M60 | 16 | 64 |
| M80 | 32 | 128 |
| M200 | 64 | 256 |
Storage in Azure DocumentDB
A quantidade total de armazenamento que atribuis também define a capacidade de I/O disponível para cada fragmento no cluster.
| 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 | 7500 |
| 4,095 | 7500 |
| 8,192 | 16 000 |
| 16,384 | 18,000 |
| 32 767 | 20,000 |
† Max IOPS (Operações de Entrada/Saída por Segundo) com ráfaga de disco livre. Armazenamento até 512 GiB, incluindo, vem com explosão gratuita de disco ativada.
Maximize o IOPS para a sua configuração de computação e armazenamento
Cada configuração de computação tem um limite de IOPS que depende do número de vCores. Certifique-se de selecionar a configuração de computação do seu cluster para utilizar totalmente o IOPS no armazenamento selecionado.
| Tamanho de armazenamento | IOPS de armazenamento, até | Nível mínimo de computação | Min vCores |
|---|---|---|---|
| Até 0,5 TiB | 3,500† | M30 | 2 vCores |
| 1 tebibyte (TiB) | 5.000 | M40 | 4 vCores |
| 2 TiB | 7500 | M50 | 8 vCores |
| 4 TiB | 7500 | M50 | 8 vCores |
| 8 TiB | 16 000 | M60 | 16 vCores |
| 16 TiB | 18,000 | M60 | 16 vCores |
| 32 Tebibyte (TiB) | 20,000 | M60 | 16 vCores |
† ao máximo IOPS com bursting de disco livre. Armazenamento até 512 GiB, incluindo, vem com explosão gratuita de disco ativada.
Por exemplo, se precisares de 8 TiB de armazenamento por shard ou mais, certifica-te de que escolhes 16 vCores ou mais para a configuração de computação do nó. Essa seleção permitiria maximizar o uso do IOPS fornecido pelo armazenamento selecionado.
Considerações para computação e armazenamento
Ao configurar o seu cluster Azure DocumentDB, é importante compreender como as escolhas de computação e armazenamento afetam o desempenho, o custo e a escalabilidade para a sua carga de trabalho específica.
Conjunto de trabalho e considerações de memória
No Azure DocumentDB, o conjunto de trabalho refere-se à parte dos seus dados que é frequentemente acedida e utilizada pelas suas aplicações. Inclui tanto os dados como os índices que são regularmente lidos ou escritos durante as operações típicas da aplicação. O conceito de conjunto de trabalho é importante para a otimização de desempenho porque o MongoDB, como muitas bases de dados, tem melhor desempenho quando o conjunto de trabalho cabe na RAM.
Para definir e compreender o conjunto de trabalho da sua base de dados MongoDB, considere os seguintes componentes:
- Dados de acesso frequente: Estes dados incluem documentos que a sua candidatura lê ou atualiza regularmente.
- Índices: Índices usados em operações de consulta também fazem parte do conjunto de trabalho porque precisam de ser carregados na memória para garantir um acesso rápido.
- Padrões de utilização da aplicação: Analisar os padrões de utilização da sua aplicação pode ajudar a identificar quais as partes dos seus dados que são acedidas com mais frequência.
Ao manter o conjunto de trabalho na RAM, pode minimizar operações de I/O de disco mais lentas, melhorando assim o desempenho da sua base de dados MongoDB. Se o seu conjunto de trabalho exceder a RAM disponível, considere otimizar o seu modelo de dados, adicionar mais RAM ao cluster ou usar sharding para distribuir dados entre vários nós.
Escolha a configuração ótima para uma carga de trabalho
Determinar a configuração certa de computação e armazenamento para a sua carga de trabalho no Azure DocumentDB envolve avaliar vários fatores relacionados com os requisitos e padrões de utilização da sua aplicação. Os passos-chave e considerações para determinar a configuração ótima incluem:
Compreende a sua carga de trabalho
- Volume de dados: Estima o tamanho total dos teus dados, incluindo índices.
- Razão leitura/escrita: Determinar a razão entre operações de leitura e operações de escrita.
- Padrões de consulta: Analise os tipos de consulta que a sua aplicação realiza. Por exemplo, leituras simples, agregações complexas.
- Concorrência: Avalie o número de operações simultâneas que a sua base de dados precisa de gerir.
Monitorizar o desempenho atual
- Utilização de recursos: Use ferramentas de monitorização para monitorizar CPU, memória, I/O de disco e utilização de rede antes de migrar a sua carga de trabalho para Azure. Depois de implementar a sua carga de trabalho MongoDB num cluster Azure DocumentDB, continue a monitorizar usando métricas de monitorização Azure.
- Métricas de desempenho: Monitorizar métricas de desempenho chave como latência, taxa de transferência e rácios de acertos na cache.
- Gargalos: Identifique quaisquer gargalos de desempenho existentes, como uso elevado da CPU, pressão de memória ou I/O de disco lento.
Estimativa dos requisitos de recursos
- Memória: Certifique-se de que o seu conjunto de trabalho (dados e índices frequentemente acedidos) cabe na RAM. Se o tamanho do seu conjunto de trabalho exceder a memória disponível, considere adicionar mais RAM ou otimizar o seu modelo de dados.
- CPU: Escolha uma configuração de CPU que consiga lidar com a carga de consulta e os requisitos de concorrência. Cargas de trabalho intensivas em CPU podem exigir mais núcleos. Utilize a métrica 'percentagem de CPU' com agregação 'Máx' no seu cluster Azure DocumentDB para ver padrões históricos de utilização de processamento.
- IOPS de armazenamento: Selecione armazenamento com IOPS suficiente para gerir as suas operações de leitura e escrita. Use a métrica 'IOPS' com a agregação 'Max' no seu cluster para ver o uso histórico de IOPS de armazenamento.
- Rede: Garanta largura de banda de rede adequada para gerir a transferência de dados entre a sua aplicação e a base de dados, especialmente para configurações distribuídas. Certifique-se de que configurou o host da sua aplicação MongoDB para suportar tecnologias de redes aceleradas como o SR-IOV.
Dimensiona corretamente
-
Escalonamento vertical: Escala computação / RAM para cima e para baixo e escala o armazenamento para cima.
- Computação: Aumente o vCore / RAM num cluster se a sua carga de trabalho exigir um aumento temporário ou se estiver frequentemente a ultrapassar 70% de utilização da CPU durante períodos prolongados.
- Certifique-se de que tem uma retenção adequada de dados na sua base de dados Azure DocumentDB. A retenção permite-lhe evitar o uso desnecessário de armazenamento. Monitorize o uso de armazenamento definindo alertas nas métricas 'Percentagem de armazenamento' e/ou 'Armazenamento utilizado' com agregação 'Max'. Considere aumentar o armazenamento à medida que o tamanho da carga de trabalho ultrapassa os 70% de uso.
- Escalabilidade horizontal: Considere usar múltiplos shards para o seu cluster para distribuir os seus dados por vários nós do Azure DocumentDB, para ganhos de desempenho e melhor gestão de capacidade à medida que a sua carga de trabalho cresce. Esta escalabilidade é especialmente útil para grandes conjuntos de dados (mais de 2-4 TiB) e aplicações de alto rendimento.
-
Escalonamento vertical: Escala computação / RAM para cima e para baixo e escala o armazenamento para cima.
Testar e iterar
- Benchmarking: Realize medições para as consultas mais frequentemente usadas com diferentes configurações para determinar o efeito no desempenho. Use métricas de CPU/RAM e IOPS e benchmarking ao nível da aplicação.
- Testes de carga: Realize testes de carga para simular cargas de trabalho de produção e validar o desempenho da configuração escolhida.
- Monitorização contínua: Monitorize continuamente a implementação do seu Azure DocumentDB e ajuste os recursos conforme necessário com base nas mudanças nas cargas de trabalho e nos padrões de utilização.
Ao avaliar sistematicamente estes fatores e monitorizar e ajustar continuamente a sua configuração, pode garantir que a sua implementação no MongoDB está bem otimizada para a sua carga de trabalho específica.
Considerações para armazenamento
Decidir o tamanho de armazenamento adequado para a sua carga de trabalho envolve várias considerações para garantir desempenho e escalabilidade ótimos. Aqui estão considerações para o tamanho de armazenamento no Azure DocumentDB:
Estimar o tamanho dos dados:
- Calcule o tamanho esperado dos seus dados do Azure DocumentDB. Considere:
- Tamanho atual dos dados: Se estiver a migrar a partir de uma base de dados existente.
- Taxa de crescimento: Estima quantos dados serão adicionados ao longo do tempo.
- Tamanho e estrutura do documento: Compreenda o esquema dos seus dados e os tamanhos dos documentos, pois afetam a eficiência do armazenamento.
- Calcule o tamanho esperado dos seus dados do Azure DocumentDB. Considere:
Considere os índices:
- O Azure DocumentDB utiliza índices para consultas eficientes. Os índices consomem espaço extra em disco.
- Estimar o tamanho dos índices com base em:
- Número de índices.
- Tamanho dos campos indexados.
Considerações de desempenho:
- O desempenho do disco afeta as operações da base de dados, especialmente para cargas de trabalho que não conseguem acomodar o conjunto ativo na RAM. Considere:
- Throughput de I/O: IOPS, ou Operações de Entrada/Saída por Segundo, é o número de pedidos que são enviados para discos de armazenamento num segundo. O tamanho maior de armazenamento traz mais IOPS. Garantir um débito adequado para operações de leitura/escrita. Utilize a métrica 'IOPS' com a agregação 'Máx' para monitorizar os IOPS que estão a ser usados no seu cluster.
- Latência: Latência é o tempo que uma aplicação demora a receber um único pedido, enviá-lo para discos de armazenamento e enviar a resposta ao cliente. A latência é uma medida crítica do desempenho de uma aplicação, em conjunto com IOPS e a taxa de transferência. O tipo de armazenamento utilizado e a configuração de armazenamento definem em grande parte a latência. Num serviço gerido como o Azure DocumentDB, o armazenamento rápido, como discos SSD Premium, é utilizado com definições otimizadas para reduzir a latência.
- O desempenho do disco afeta as operações da base de dados, especialmente para cargas de trabalho que não conseguem acomodar o conjunto ativo na RAM. Considere:
Crescimento futuro e escalabilidade:
- Planeie o crescimento futuro dos dados e as necessidades de escalabilidade.
- Alocar mais espaço em disco para além das necessidades atuais para acomodar o crescimento sem expansões frequentes de armazenamento.
Exemplo de cálculo:
- Suponha que o seu tamanho inicial de dados é de 500 GiB.
- Com índices, pode crescer para 700 GiB.
- Se prevê duplicar os dados em dois anos, planeie 1,4 TiB (700 GiB * 2).
- Adicione um buffer para custos fixos, crescimento e necessidades operacionais.
- Talvez queiras começar hoje com armazenamento de 1 TiB e aumentar para 2 TiB quando o tamanho ultrapassar os 800 GiB.
Decidir o tamanho do armazenamento envolve uma combinação de estimar as necessidades atuais e futuras de dados, considerar indexação e compressão, e garantir desempenho e escalabilidade adequados. A monitorização regular e ajustes baseados no uso real e nas tendências de crescimento também são cruciais para manter o desempenho ótimo do MongoDB.
O que é computação expansível?
O nível Burstable oferece uma solução inteligente adaptada para pequenas cargas de trabalho em bases de dados. Ao fornecer um desempenho mínimo da CPU durante os períodos de inatividade, estes clusters otimizam a utilização dos recursos. No entanto, o verdadeiro brilhantismo reside na sua capacidade de escalar perfeitamente até à potência total da CPU em resposta ao aumento do tráfego ou das exigências de carga de trabalho. Esta adaptabilidade proporciona um desempenho máximo precisamente quando necessário, ao mesmo tempo que proporciona poupanças substanciais de custos.
Ao reduzir o preço inicial do serviço, o Burstable Cluster Tier do Azure DocumentDB visa facilitar a integração e exploração do Azure DocumentDB pelos utilizadores a preços reduzidos. Esta democratização do acesso capacita empresas de todas as dimensões a aproveitar o poder do Azure DocumentDB sem gastar muito. Quer seja uma startup, uma pequena empresa ou uma empresa, este nível abre novas possibilidades para uma escalabilidade económica.
Provisionar um nível expandível é tão simples como provisionar níveis regulares; Só precisas de escolher "M10", "M20" ou "M25" na opção do cluster tier. Aqui está um guia rápido que oferece instruções passo a passo sobre como configurar um cluster Azure DocumentDB .