Partilhar via


Azure Cosmos DB como um armazenamento de valor chave – visão geral de custos

APLICA-SE A: NoSQL

O Azure Cosmos DB é um serviço de banco de dados multimodelo distribuído globalmente para criar facilmente aplicativos altamente disponíveis e em grande escala. Por padrão, o Azure Cosmos DB indexa de forma automática e eficiente todos os dados que ingere. Isso permite consultas SQL (e JavaScript) rápidas e consistentes nos dados.

Este artigo descreve o custo do Azure Cosmos DB para operações simples de gravação e leitura quando ele é usado como um armazenamento de chave/valor. As operações de gravação incluem inserções, substituições, exclusões e atualizações de itens de dados. Além de garantir um SLA de disponibilidade de 99,999% para todas as contas de várias regiões, o Azure Cosmos DB oferece latência garantida <de 10 ms para leituras e gravações (indexadas), no percentil 99.

Por que usamos Unidades de Solicitação (RUs)

O desempenho do Azure Cosmos DB é baseado na quantidade de taxa de transferência provisionada expressa em Unidades de Solicitação (RU/s). O provisionamento está em uma segunda granularidade e é comprado em RU/s (não confundir com o faturamento por hora). As RUs devem ser consideradas como uma abstração lógica (uma moeda) que simplifica o provisionamento da taxa de transferência necessária para o aplicativo. Os usuários não precisam pensar em diferenciar entre taxa de transferência de leitura e gravação. O modelo de moeda única das empresas ferroviárias cria eficiências para partilhar a capacidade provisionada entre leituras e escritas. Esse modelo de capacidade provisionada permite que o serviço forneça uma taxa de transferência previsível e consistente, baixa latência garantida e alta disponibilidade. Finalmente, enquanto o modelo RU é usado para descrever a taxa de transferência, cada RU provisionada também tem uma quantidade definida de recursos (por exemplo, memória, núcleos/CPU e IOPS).

Como um sistema de banco de dados distribuído globalmente, o Azure Cosmos DB é o único serviço do Azure que fornece SLAs abrangentes que abrangem latência, taxa de transferência, consistência e alta disponibilidade. A taxa de transferência provisionada é aplicada a cada uma das regiões associadas à sua conta do Azure Cosmos DB. Para leituras, o Azure Cosmos DB oferece vários níveis de consistência bem definidos para você escolher.

A tabela a seguir mostra o número de RUs necessárias para executar operações de leitura e gravação com base em um item de dados de tamanho 1 KB e 100 KBs com a indexação automática padrão desativada.

Tamanho do item 1 Ler 1 Escrever
1 KB 1 RU 5 RUs
100 KB 10 RUs 50 RUs

Custo de leituras e gravações

Se você provisionar 1.000 RU/s, isso equivale a 3,6 milhões de RU/hora e custará US$ 0,08 por hora (nos EUA e na Europa). Para um item de dados de tamanho de 1 KB, isso significa que você pode consumir 3,6 milhões de leituras ou 0,72 milhão de gravações (3,6 milhões de RU / 5) usando sua taxa de transferência provisionada. Normalizado para milhões de leituras e gravações, o custo seria de US$ 0,022/milhão de leituras (US$ 0,08/3,6) e US$ 0,111/milhão de gravações (US$ 0,08/0,72). O custo por milhão torna-se mínimo, como mostra a tabela abaixo.

Tamanho do item Custo de 1 milhão de leituras Custo de 1 milhão de gravações
1 KB $0,022 $0,111
100 KB $0,222 $1.111

A maioria dos serviços básicos de blob ou lojas de objetos cobra US$ 0,40 por milhão de transações de leitura e US$ 5 por milhão de transações de gravação. Se usado de forma otimizada, o Azure Cosmos DB pode ser até 98% mais barato do que essas outras soluções (para transações de 1 KB).

Próximos passos

  • Use a calculadora RU para estimar a taxa de transferência para suas cargas de trabalho.