Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
NoSQL
MongoDB
Cassandra
Gremlin
Tabela
No Azure Cosmos DB, você pode configurar a taxa de transferência provisionada padrão (manual) ou de dimensionamento automático em seus bancos de dados e contêineres. O dimensionamento automático de taxa de transferência provisionada no Azure Cosmos DB permite-lhe dimensionar automaticamente e instantaneamente a taxa de transferência (RU/s) do seu banco de dados ou contêiner.
A taxa de transferência provisionada de dimensionamento automático é adequada para cargas de trabalho de missão crítica que têm padrões de tráfego variáveis ou imprevisíveis e exigem SLAs de alto desempenho e escala. O dimensionamento automático por padrão dimensiona cargas de trabalho com base na região e partição mais ativas. Para cargas de trabalho não uniformes que têm padrões de carga de trabalho diferentes entre regiões e partições, esse dimensionamento pode causar escalonamentos desnecessários. O dimensionamento dinâmico ou o dimensionamento automático dinâmico é um aprimoramento do dimensionamento automático provisionado que ajuda a dimensionar essas cargas de trabalho não uniformes de forma independente com base no uso, por região e por nível de partição. O dimensionamento dinâmico permite que você economize custos se você frequentemente experimentar partições quentes e/ou tiver várias regiões.
Benefícios do dimensionamento automático
Os bancos de dados e contêineres do Azure Cosmos DB configurados com taxa de transferência provisionada em escala automática têm os seguintes benefícios:
Simples: o dimensionamento automático elimina a complexidade da gestão de RU/s com scripts personalizados ou ajuste manual de capacidade.
Escalável: bancos de dados e contêineres dimensionam automaticamente a taxa de transferência provisionada conforme necessário. Não há interrupção nas conexões de cliente, aplicativos ou SLAs do Azure Cosmos DB.
Custo-benefício: o dimensionamento automático ajuda a otimizar o consumo de RU/s e os custos, ajustando os recursos para baixo quando não estão em uso. Você paga apenas pelos recursos de que suas cargas de trabalho precisam por hora. De todas as horas em um mês, se definir o valor máximo de autoscale RU/s (Tmax) e usar a quantidade total Tmax para 66% das horas ou menos, pode economizar com autoscale. Além disso, com o dimensionamento dinâmico, adicionar uma região secundária para alta disponibilidade é mais econômico, pois cada região e partição é dimensionada independentemente com base no uso real. Para saber mais, consulte o artigo sobre como escolher entre taxa de transferência provisionada padrão (manual) e de dimensionamento automático.
Altamente disponível: bancos de dados e contêineres que usam dimensionamento automático usam o mesmo back-end do Azure Cosmos DB distribuído globalmente, tolerante a falhas e altamente disponível para garantir a durabilidade e a alta disponibilidade dos dados.
Casos de uso do dimensionamento automático
Os casos de uso do dimensionamento automático incluem:
Cargas de trabalho variáveis ou imprevisíveis: quando suas cargas de trabalho têm picos de uso variáveis ou imprevisíveis, o dimensionamento automático ajuda aumentando e diminuindo automaticamente com base no uso. Exemplos incluem sites de varejo que têm padrões de tráfego diferentes dependendo da sazonalidade; cargas de trabalho IOT que têm picos em vários momentos durante o dia; aplicativos de linha de negócios que registram pico de uso algumas vezes por mês ou ano e muito mais. Com o dimensionamento automático, você não precisa mais provisionar manualmente a capacidade de pico ou média.
Novos aplicativos: se você estiver desenvolvendo um novo aplicativo e não tiver certeza sobre a taxa de transferência (RU/s) necessária, o dimensionamento automático facilita os primeiros passos. Você pode começar com o ponto de partida para dimensionamento automático de 100 - 1000 RU/s, monitorar seu uso e ajustar o RU/s adequado ao longo do tempo.
Aplicativos usados com pouca frequência: se você tiver um aplicativo, que é usado apenas por algumas horas, várias vezes por dia, semana ou mês, como um aplicativo/site/site/blog de baixo volume. O dimensionamento automático ajusta a capacidade para lidar com picos de uso e reduz a capacidade quando estes terminam.
Cargas de trabalho de desenvolvimento e teste: se você ou sua equipe usam bancos de dados e contêineres do Azure Cosmos DB durante o horário de trabalho, mas não precisam deles à noite ou nos fins de semana, o dimensionamento automático ajuda a economizar custos reduzindo ao mínimo quando não está em uso.
Cargas de trabalho/consultas de produção agendadas: se você tiver uma série de solicitações, operações ou consultas agendadas que deseja executar durante períodos ociosos, poderá fazer isso facilmente com o dimensionamento automático. Quando precisas executar a carga de trabalho, a taxa de transferência ajusta-se automaticamente ao valor necessário e volta a diminuir em seguida.
A criação de uma solução personalizada para esses problemas não só requer uma enorme quantidade de tempo, mas também introduz complexidade na configuração ou no código do seu aplicativo. O dimensionamento automático permite os cenários acima prontos e elimina a necessidade de dimensionamento personalizado ou manual da capacidade.
Casos de uso de dimensionamento dinâmico
Os casos de uso do dimensionamento dinâmico incluem:
- Cargas de trabalho de banco de dados que têm uma região primária altamente trafegada e uma região passiva secundária para recuperação de desastres.
- Com o dimensionamento dinâmico, alcançar alta disponibilidade com várias regiões é mais econômico. A região secundária é reduzida de forma independente e automática enquanto está ociosa. A região secundária também escala automaticamente à medida que se torna ativa e durante o manuseio do tráfego de replicação de escrita da região primária.
- Cargas de trabalho de banco de dados de várias regiões.
- Esses trabalhos geralmente testemunham uma distribuição desigual de pedidos entre as regiões devido ao crescimento e redução natural do tráfego ao longo do dia. Por exemplo, um banco de dados pode estar ativo durante o horário comercial em fusos horários distribuídos globalmente.
Como funciona o escalonamento automático da largura de banda provisionada
Ao configurar contêineres e bancos de dados com dimensionamento automático, você especifica a taxa de Tmax
transferência máxima necessária. O Azure Cosmos DB dimensiona a taxa T
de transferência como 0.1*Tmax <= T <= Tmax
. Por exemplo, se você definir a taxa de transferência máxima para 20.000 RU/s, a taxa de transferência será dimensionada entre 2000 e 20.000 RU/s. Como o dimensionamento é automático e instantâneo, a qualquer momento, é possível consumir até o provisionado Tmax
sem qualquer atraso.
A cada hora, é cobrado pela maior taxa T
de transferência que o sistema atingiu durante a hora. Quando o dimensionamento dinâmico está habilitado, o dimensionamento é baseado no uso de RU/s em cada partição física e região. Como cada partição e região são dimensionadas de forma independente, isso pode levar a economias de custos para cargas de trabalho não uniformes, já que expansões desnecessárias são evitadas.
O ponto de entrada para o throughput máximo de escala automática Tmax
começa em 1000 RU/s, escalando entre 100 e 1000 RU/s. Você pode definir Tmax
em incrementos de 1000 RU/s e alterar o valor a qualquer momento.
Por exemplo, se tivermos uma coleção com 1000 RU/s e 2 partições, cada partição pode ir até 500 RU/s. Para uma hora de atividade, a utilização ficaria assim:
Região | Partição | Taxa de Transferência | Utilização | Notas |
---|---|---|---|---|
Escrever | Pág. 1 | <= 500 RU/s | 100% | 500 RU/s consistindo em 50 RU/s usadas para operações de gravação e 450 RU/s para operações de leitura. |
Escrever | Pág. 2 | <= 200 RU/s | 40% | 200 RU/s que consiste em todas as operações de leitura. |
Ler | Pág. 1 | < = 150 RU/s | 30% | 150 RU/s consistindo em 50 RU/s usados para gravações replicadas da região de gravação. 100 RU/s são usados para operações de leitura nesta região. |
Ler | Pág. 2 | < = 50 RU/s | 10% |
Sem dimensionamento dinâmico, todas as partições são dimensionadas uniformemente com base na partição mais quente. Neste exemplo, como a partição mais quente teve 100% de utilização, todas as partições nas regiões de gravação e leitura são dimensionadas para 1000 RU/s, tornando o total de RU/s dimensionado para 2000 RU/s.
Com o dimensionamento dinâmico, como a taxa de transferência de cada partição e região é dimensionada de forma independente, o total de RU/s dimensionado seria de 900 RU/s, o que reflete melhor o padrão de tráfego real e reduz os custos.
Habilitando o dimensionamento automático nos recursos existentes
Use o portal do Azure, CLI ou PowerShell para habilitar o dimensionamento automático em um banco de dados ou contêiner existente. Você pode alternar entre o dimensionamento automático e a taxa de transferência provisionada padrão (manual) a qualquer momento. Para obter mais informações, consulte esta documentação para obter mais informações.
Limites de taxa de transferência e armazenamento para escala automática
Para qualquer valor de Tmax
, o banco de dados ou contentor pode armazenar um total de 0.1 * Tmax GB
. Depois que essa quantidade de armazenamento for atingida, o RU/s máximo será aumentado automaticamente com base no novo valor de armazenamento, sem afetar seu aplicativo.
Por exemplo, se você começar com um máximo de RU/s de 50.000 RU/s (escalas entre 5000 e 50.000 RU/s), poderá armazenar até 5000 GB de dados. Se você exceder 5000 GB - por exemplo, o armazenamento agora é de 6000 GB, o novo máximo de RU/s se torna 60.000 RU/s (escala entre 6000 e 60.000 RU/s).
Ao utilizar largura de banda ao nível do banco de dados com dimensionamento automático, pode fazer com que os primeiros 25 contêineres partilhem uma escala automática máxima de 1000 RU/s (com escalonamento entre 100 e 1000 RU/s), desde que não exceda 100 GB de armazenamento. Para obter mais informações, consulte esta documentação.
Habilitando o dimensionamento dinâmico
O dimensionamento dinâmico é habilitado por padrão para todas as contas do Azure Cosmos DB criadas após 25 de setembro de 2024. Os clientes que desejam habilitar esse recurso para suas contas mais antigas podem fazê-lo programaticamente por meio da API do Azure PowerShell/CLI/Rest ou do painel de recursos do portal do Azure, conforme mostrado:
Navegue até sua conta do Azure Cosmos DB no portal do Azure.
Navegue até a página Recursos .
Localize e habilite o recurso de dimensionamento dinâmico (dimensionamento automático por região e por partição).
Importante
A funcionalidade é ativada ao nível da conta; assim, todos os contêineres de dimensionamento automático e os bancos de dados de taxa de transferência compartilhada de dimensionamento automático dentro da conta terão esta capacidade aplicada automaticamente. A habilitação desse recurso não afeta os recursos na conta que estão usando a taxa de transferência manual. Os recursos manuais precisarão ser alterados para dimensionamento automático para aproveitar o dimensionamento dinâmico. A ativação desse recurso não tem nenhum tempo de inatividade ou impacto no desempenho. Esse recurso não é aplicável a contas sem servidor. Este recurso é suportado em todas as nuvens.
Métricas de monitoramento
Você pode usar as seguintes métricas para monitorar o dimensionamento automático e o dimensionamento dinâmico:
Nome da Métrica | Definição | Uso de métricas |
---|---|---|
Taxa de Transferência Aprovisionada | Mostra o RU/s mais alto agregado dimensionado para toda a hora e representa o total de RU/s dimensionado para a hora. | Você pode usar a Provisioned Throughput métrica para ver o RU/s pelo qual você é cobrado em cada hora. Com o dimensionamento automático, você é cobrado com base na partição mais ativa para cada hora e o mesmo é aplicado a todas as partições e regiões. Com o dimensionamento automático dinâmico, você é cobrado pelo maior RU/s agregado dimensionado em cada hora em cada partição e nível de região. |
Consumo normalizado de RU | Essa métrica representa a proporção de RU/s consumidos para RU/s provisionados em cada nível de partição e região. | Utilize esta métrica para determinar se a taxa de transferência máxima do dimensionamento automático está subdimensionada ou sobredimensionada. Se o valor da métrica for consistentemente de 100% e seu aplicativo estiver vendo limitação de taxa (código de erro 429), talvez você precise de mais RU/s. Por outro lado, se esse valor métrico for baixo e não houver limitação de taxa, pode haver espaço para otimizar e reduzir o RU/s. Saiba como interpretar e depurar erros de limitação de taxa do código 429. A métrica Normalized RU Consumption reflete o RU/s consumido na região secundária devido ao tráfego de replicação de gravação da região primária, além de qualquer tráfego de leitura na região secundária. |
RU dimensionado automaticamente | Mostra a taxa de transferência provisionada dimensionada dinamicamente em cada nível de partição e região somente para contas habilitadas para dimensionamento automático dinâmico. | Use essa métrica para ver como as partições em cada região são dimensionadas de forma independente com base em seu uso. Use as métricas - Autoscaled RU do Azure Monitor para analisar como o novo dimensionamento automático é aplicado em partições e regiões. Filtre pela conta de base de dados e container desejados, e, em seguida, filtre ou divida pela métrica Physical PartitionID. Essa métrica mostra todas as partições em suas várias regiões. |
Importante
É recomendável usar o recurso de dimensionamento dinâmico nativo do Azure Cosmos DB para gerenciar sua capacidade. No entanto, se necessário, a métrica Consumo de RU Normalizado no Azure Monitor pode ser usada para tomar decisões de dimensionamento programático. Outras abordagens, como usar a chamada ReadThroughputAsync() nos SDKs do Azure Cosmos DB para obter o ProvisionedThroughput, ou usar ProvisionedThroughput no Azure Monitor não são recomendadas e levarão a resultados imprecisos. Essas métricas representam a taxa de transferência faturada com um atraso e não devem ser usadas para decisões de escala.
Comparação – contentores configurados com throughput manual vs escalamento automático
Para obter mais detalhes, consulte esta documentação sobre como escolher entre taxa de transferência padrão (manual) e de dimensionamento automático.
Contentores com capacidade de processamento padrão (manual) | Contêineres com dimensionamento automático de taxa de transferência | |
---|---|---|
Capacidade de processamento provisionada (RU/s) | Provisionado manualmente. | Dimensionado automaticamente e instantaneamente com base nos padrões de uso da carga de trabalho. |
Limitação de frequência de pedidos e operações (429) | Pode acontecer, se o consumo exceder a capacidade provisionada. | Isso não acontece se você consumir RU/s dentro do intervalo de taxa de transferência de dimensionamento automático configurado. |
Planeamento de capacidade | Você tem que fazer o planejamento de capacidade e definir a taxa de transferência exata que você precisa. | O sistema cuida automaticamente do planejamento e do gerenciamento de capacidade. |
Preços | Você paga pelo RU/s provisionado manualmente por hora, utilizando a taxa padrão (manual) de RU/s por hora. | Você paga por hora pelo maior RU/s que o sistema escalou para durante a hora. Para contas de região de gravação única, paga-se pelo RU/s utilizado numa base horária, utilizando a taxa de RU/s por hora de escala automática. Para contas com várias regiões de gravação, não há taxa extra para o dimensionamento automático. Você paga pela taxa de transferência usada por hora usando a mesma taxa de gravação de RU/s por hora em várias regiões. |
Mais adequado para tipos de carga de trabalho | Cargas de trabalho previsíveis e estáveis | Cargas de trabalho imprevisíveis e variáveis |
Migrar o throughput provisionado padrão para autoscale
Os usuários que desejam migrar um grande número de recursos da taxa de transferência provisionada padrão para o dimensionamento automático podem usar um script da CLI do Azure para migrar todos os recursos de taxa de transferência em uma assinatura do Azure para o dimensionamento automático.
Próximos passos
- Reveja as perguntas frequentes sobre a escala automática.
- Saiba como escolher entre largura de banda manual e automática.
- Saiba como provisionar a taxa de transferência de escalamento automático em uma base de dados ou repositório do Azure Cosmos DB.
- Saiba mais sobre particionamento no Azure Cosmos DB.
- Tentando fazer o planejamento de capacidade para uma migração para o Azure Cosmos DB? Você pode usar informações sobre seu cluster de banco de dados existente para planejamento de capacidade.
- Se tudo o que você sabe é o número de vCores e servidores em seu cluster de banco de dados existente, leia sobre como estimar unidades de solicitação usando vCores ou vCPUs
- Se você souber as taxas de solicitação típicas para sua carga de trabalho de banco de dados atual, leia sobre como estimar unidades de solicitação usando o planejador de capacidade do Azure Cosmos DB