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

APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela

Pode adicionar e remover regiões da 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 for T e o número de regiões do Azure associadas à sua conta de banco de dados for N, a taxa de transferência total provisionada para sua conta do Azure Cosmos DB, para uma determinada hora, será 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 em custo. Para obter mais informações, consulte Preços do Azure Cosmos DB.

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

Em um sistema de gravação de várias regiões, o RU/s disponível na rede para operações de gravação aumenta N vezes onde N é o número de regiões de gravação. Ao contrário das gravações de uma única região, cada região agora é gravável e oferece suporte à resolução de conflitos. Do ponto de vista do planejamento de custos, para executar M gravações de RU/s 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 quiser e usá-las para gravações para executar M RU/s no valor 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 queira a capacidade de gravar nos contêineres em ambas as regiões a partir do seu aplicativo.

Este exemplo detalha seu novo consumo mensal total:

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

Nota

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

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

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

As gravações custam mais do que as leituras na 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. Certifique-se de entender o efeito na latência para todos os aplicativos implantados na mesma região.