Estimativa de capacidade usando a Calculadora de Capacidade do Azure Cosmos DB

Concluído

Há algumas maneiras de fazer o planejamento da capacidade de suas cargas de trabalho do Azure Cosmos DB:

  • Se você estiver migrando a carga de trabalho de banco de dados existente, mas souber apenas o número de vCores e de servidores no cluster existente, será necessário estimar as unidades de solicitação usando vCores ou vCPUs (/azure/cosmos-db/convert-vcore-to-request-unit). Discutiremos esse assunto em mais detalhes no módulo de migração.
  • Se você conhece as taxas de solicitação atuais das cargas de trabalho do banco de dados, pode estimar as unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB.

Para otimizar o custo e o desempenho no Azure Cosmos DB, devemos fornecer às cargas de trabalho de bancos de dados e coleções a quantidade correta de taxa de transferência (Unidades de Solicitação por segundo ou RU/s, para abreviar). O planejador de capacidade do Azure Cosmos DB nos ajudará a estimar as RU/s necessárias para as cargas de trabalho do Azure Cosmos DB for MongoDB. Vamos olhar essa ferramenta com mais detalhes.

Planejador de capacidade do Azure Cosmos DB

O planejador de capacidade do Azure Cosmos DB é uma ferramenta online que estimará a quantidade de RU/s que sua carga de trabalho precisará com base em vários parâmetros que definem a carga de trabalho em si. O planejador de capacidade oferece dois modos, Básico e Avançado. Vamos dar uma olhada nos diferentes parâmetros de carga de trabalho que definiremos para cada um desses modos.

Modo básico

O Modo básico oferece uma estimativa rápida de custo e taxa de transferência para suas cargas de trabalho. Esse modo exigirá menos informações sobre a carga de trabalho e assumirá que você está usando as configurações padrão do Azure Cosmos DB para política de indexação, consistência e outros parâmetros do Azure Cosmos DB.

Vamos examinar os diferentes parâmetros de carga de trabalho e os valores a serem inseridos.

  • API – Selecione a API do Cosmos DB para MongoDB.
  • Número de regiões – O Azure Cosmos DB for MongoDB está disponível em todas as regiões do Azure. Selecione o número de regiões necessárias para sua carga de trabalho.
  • Gravações em várias regiões – Se você habilitou gravações em várias regiões, o aplicativo poderá ler e gravar em qualquer região do Azure. Se desabilitar, seu aplicativo poderá gravar dados em apenas uma região, mas poderá ler em qualquer região selecionada.
    • Habilite essa opção caso espere uma carga de trabalho ativa-ativa que exija gravações de baixa latência em regiões diferentes.
    • As gravações de várias regiões garantem 99,999% de disponibilidade de leitura e gravação.
    • As gravações de várias regiões exigem mais taxa de transferência quando comparadas às regiões de gravação única.
  • Total de dados armazenados no repositório transacional – Total estimado de dados armazenados (GB) no repositório transacional em uma única região.
  • Usar armazenamento analítico – Escolha Ativado se quiser usar o armazenamento analítico do Azure Synapse.
    • Se definido como Ativado, insira o Total de dados armazenados no armazenamento analítico, que representa a estimativa de dados armazenados (GB) no repositório analítico em uma única região.
  • Tamanho do item – O tamanho médio estimado dos documentos (1 KB a 2 MB).
  • Localizações/seg – Número de operações de localização esperadas por segundo por região.
  • Inserções/seg – Número de operações de inserção esperadas por segundo por região.
  • Atualizações/seg – Número de operações de atualização esperadas por segundo por região.
    • Quando você escolhe a indexação automática, as RU/s estimadas para a operação de atualização são calculadas como uma propriedade sendo alterada por uma atualização.
  • Exclusões/seg – Número de operações de exclusão esperadas por segundo por região.

Captura de tela mostrando a calculadora de capacidade do Azure Cosmos DB – Modo básico.

Depois de selecionar Calcular, a guia Estimativa de Custos mostrará o custo total do armazenamento e da taxa de transferência provisionada. Observe que, por padrão, ela mostrará a EST. THROUGHPUT REQUIRED, mas você pode selecionar Mostrar Detalhes para ver o custo estimado dos diferentes tipos de CRUD e solicitações de consulta.

Dica

Não se esqueça de selecionar Calcular novamente se você alterar qualquer um dos parâmetros para obter uma nova estimativa.

Modo Avançado

O modo Avançado requer uma exibição mais detalhada da carga de trabalho. Você precisará fornecer mais configurações que produzirão uma estimativa mais precisa sobre o custo e a taxa de transferência da carga de trabalho. Para escolher o modo Avançado do planejador de capacidade, você precisará entrar na ferramenta com uma conta usada para se conectar ao Azure. Você encontra a opção Entrar no canto superior direito da ferramenta.

Depois de entrar, você observará um conjunto mais detalhado de parâmetros do que o modo Básico. Vamos examinar os diferentes parâmetros de carga de trabalho e os valores a serem inseridos.

  • API – Selecione a API do Cosmos DB para MongoDB.
  • Número de regiões – O Azure Cosmos DB for MongoDB está disponível em todas as regiões do Azure. Selecione o número de regiões necessárias para sua carga de trabalho.
  • Gravações em várias regiões – Se você habilitou gravações em várias regiões, o aplicativo poderá ler e gravar em qualquer região do Azure. Se desabilitar, seu aplicativo poderá gravar dados em apenas uma região, mas poderá ler em qualquer região selecionada.
    • Habilite essa opção caso espere uma carga de trabalho ativa-ativa que exija gravações de baixa latência em regiões diferentes.
    • As gravações de várias regiões garantem 99,999% de disponibilidade de leitura e gravação.
    • As gravações de várias regiões exigem mais taxa de transferência quando comparadas às regiões de gravação única.
  • Consistência padrão – O Azure Cosmos DB for MongoDB dá suporte a quatro níveis de consistência para permitir que os desenvolvedores encontrem o equilíbrio entre consistência, disponibilidade e latência. Discutiremos os níveis de consistência em mais detalhes no módulo Replicação, Monitorar e Otimizar.
  • Política de indexação – Essa configuração define como sua carga de trabalho planeja usar os índices. Discutiremos os índices mais detalhadamente no módulo Projetar Bancos de dados do MongoDB para o Azure Cosmos DB. Para saber mais, confira o gerenciamento de índice na API para MongoDB.
    • Se você escolher a opção Desativar, nenhuma das propriedades será indexada, o que resultará em menor taxa de RU para gravações. Você precisará consultar usando o campo _id e a chave de fragmentação em cada consulta; qualquer outra consulta examinará todas as partições.
    • Se você escolher a opção Automática, indexará todos os campos/propriedades em seus documentos que, por sua vez, permitirá consultas flexíveis e eficientes.
    • Se você escolher a opção Personalizado, poderá definir as propriedades que serão indexadas com índices de várias chaves ou índices compostos.
      • Você pode inserir o número de propriedades indexadas posteriormente no formulário.
  • Total de dados armazenados no repositório transacional – Total estimado de dados armazenados (GB) no repositório transacional em uma única região.
  • Usar armazenamento analítico – Escolha Ativado se quiser usar o armazenamento analítico do Azure Synapse.
    • Se definido como Ativado, insira o Total de dados armazenados no armazenamento analítico, que representa a estimativa de dados armazenados (GB) no repositório analítico em uma única região.
  • Modo de carga de trabalho – Selecione se você espera que sua carga de trabalho seja Estável (constante) ou Variável.
    • Selecione Estável se você espera que o volume da carga de trabalho seja constante.
    • Selecione Variável se a carga de trabalho mudar ao longo do tempo. Por exemplo, uma empresa de varejo cujas vendas aumentam drasticamente nas temporadas de fim de semana e/ou feriados.
      • Se a opção Variável for selecionada, insira o Percentual de tempo no pico.
      • Com os intervalos de pico e fora do pico, você pode otimizar seu custo ao dimensionar programaticamente sua taxa de transferência provisionada para mais e para menos de modo adequado.
  • Tamanho do item – O tamanho médio estimado dos documentos (1 KB a 2 MB).
    • Você também pode carregar o documento exemplo (JSON) para obter uma estimativa mais precisa.
    • Se a sua carga de trabalho tiver vários tipos de itens (com conteúdo JSON diferente) no mesmo contêiner, você poderá carregar vários documentos JSON e obter a estimativa. Use o botão Adicionar item para adicionar vários documentos JSON de exemplo.
  • Operation type – O tipo de operação, como Localizar, Agregar, Modificar etc.
  • Carga de RU (unidade de solicitação) por chamada – A carga estimada de RU/s para executar o tipo de operação selecionado.
  • Chamadas/s por região – Número de tipos de operação selecionados executados por segundo por região.

Captura de tela mostrando a calculadora de capacidade do Azure Cosmos DB – Modo avançado.

Depois de selecionar Calcular, a guia Estimativa de Custos mostrará o custo total do armazenamento e da taxa de transferência provisionada. Observe que, por padrão, ela mostrará a EST. THROUGHPUT REQUIRED, mas você pode selecionar Mostrar Detalhes para ver o custo estimado dos diferentes tipos de CRUD e solicitações de consulta.

Dica

Não se esqueça de selecionar Calcular novamente se você alterar qualquer um dos parâmetros para obter uma nova estimativa.

Observação

Todos os preços são mostrados em dólares americanos. Confira a página de preços do Azure Cosmos DB para ver todas as taxas por região.