Otimizar o custo de várias regiões no Azure Cosmos DB

APLICA-SE AO: NoSQL MongoDB Cassandra Gremlin Table

Você pode adicionar ou remover regiões de sua conta do Azure Cosmos DB a qualquer momento. A taxa de transferência que você configura para vários bancos de dados e contêineres do Azure Cosmos DB é reservada em cada região associada à sua conta. Se a taxa de transferência provisionada por hora que é a soma das unidades de solicitação por segundo (RU/s) configuradas em todos os bancos de dados e contêineres para sua conta do Azure Cosmos DB é T e o número de regiões do Azure associadas à sua conta de banco de dados é N, em seguida, a taxa de transferência provisionada total para sua conta do Azure Cosmos DB, para uma determinada hora é igual a T x N RU/s.

A taxa de transferência provisionada com uma única região de gravação e a taxa de transferência provisionada com várias regiões graváveis podem variar de custo. Para obter mais informações, veja Preços do Azure Cosmos DB.

Custos de várias regiões de gravação

Em um sistema de gravações de várias regiões, as RU/s líquidas disponíveis para operações de gravação aumentam N horas em que N se encontra o número de regiões de gravação. Ao contrário das gravações de região única, todas as regiões agora podem ser gravadas e oferecem suporte à resolução de conflitos. Do ponto de vista do planejamento de custos, para executar M RU/s de gravações em todo o mundo, você precisa configurar M RU/s em um nível de contêiner ou banco de dados. Em seguida, você pode adicionar quantas regiões desejar e usá-las para gravações para executar M RU/s de gravações em todo o mundo.

Exemplo

Considere que você tem um contêiner em um cenário de gravação de região única. Esse contêiner é provisionado com taxa de transferência de 10K RU/s e está armazenando 0.5 TB de dados este mês. Agora, vamos supor que você adicione outra região com o mesmo armazenamento e taxa de transferência e você deseja a capacidade de gravar nos contêineres em ambas as regiões do seu aplicativo.

Este exemplo detalha seu novo consumo mensal total:

Uso mensal
Fatura de taxa de transferência para contêiner em uma única região de gravação 10K RU/s * 730 hours
Fatura de taxa de transferência para contêiner em várias regiões de gravação (duas) 2 * 10K RU/s * 730 hours
Fatura de armazenamento para contêiner em uma única região de gravação 0.5 TB (or 512 GB)
Cobrança de armazenamento para contêiner em duas regiões de gravação 2 * 0.5 TB (or 1,024 GB)

Observação

Este exemplo pressupõe 730 horas em um mês.

Melhorar a utilização de taxa de transferência por região

Se você tiver uma utilização ineficiente, poderá tomar medidas para fazer o uso máximo das RU/s em regiões de leitura usando o feed de alterações da região de leitura. Ou, você pode mudar para outro secundário, se superutilizado. Por exemplo, uma ou mais regiões de leitura subutilizados são consideradas ineficientes. Você precisa garantir que você otimize a taxa de transferência provisionada (RU/s) na região de gravação primeiro.

Gravações custam mais do que leituras para a maioria dos casos, excluindo consultas grandes. Manter a utilização uniforme pode ser um desafio. No geral, monitore a taxa de transferência consumida em suas regiões e adicione ou remova regiões sob demanda para dimensionar sua taxa de transferência de leitura e gravação. Lembre-se de entender o efeito da latência para todos os aplicativos implantados na mesma região.