Compartilhar via


Azure Cosmos DB como um repositório de valores de chave – visão geral do custo

APLICA-SE A: NoSQL

O Azure Cosmos DB é um serviço de multimodelo de banco de dados distribuído globalmente para a criação fácil de aplicativos altamente disponíveis de grande escala. Por padrão, Azure Cosmos DB indexa de forma automática e eficiente todos os dados ingeridos. 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 repositório de chaves/valores. Operações de gravação incluem inserções, substituições, exclusões e upserts de itens de dados. Além de garantir um SLA com disponibilidade de 99,999% para todas as contas de várias regiões, o Azure Cosmos DB oferece latência <10 ms garantida para leituras e para as gravações (indexadas), respectivamente, na casa do percentil 99.

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

O desempenho do Azure Cosmos DB se baseia na quantidade de taxa de transferência provisionada expressa em Unidades de Solicitação (RU/s). O provisionamento ocorre a uma granularidade de segundos e é adquirido em RU/s (não deve ser confundido com a cobrança por hora). 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 de RUs cria eficiência no compartilhamento da capacidade provisionada entre leituras e gravações. 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, embora o modelo de RU seja usado para representar a taxa de transferência, cada RU provisionado também tem uma quantidade definida de recursos (por exemplo, memória, núcleos/CPU e IOPS).

Por ser um sistema de banco de dados distribuído globalmente, o Azure Cosmos DB é o único serviço do Azure que fornece SLAs abrangentes cobrindo latência, taxa de transferência, consistência e alta disponibilidade. A produtividade que você provisiona é 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 sua escolha.

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

Tamanho do Item 1 Leitura 1 Gravação
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 totaliza de 3,6 milhões de RU/hora e custará $0,08 por hora (nos EUA e Europa). Para um item de dados com 1KB, isso significa que você pode consumir 3,6 milhões de leituras ou 0,72 m de gravações (3,6 milhões de RU/5) usando sua taxa de transferência provisionada. Ao normalizar para milhões de leituras e gravações, o custo seria de $0,022/milhões de leituras ($0,08/3,6) e $0,111/milhões de gravações ($0,08/0,72). O custo por milhão se torna mínimo, conforme mostra a tabela a seguir.

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 repositórios de blob ou de objeto básicos cobra $ 0,40 por um milhão de transações de leitura, e $ 5 por um milhão de transações de gravação. Se for utilizado de forma adequada, o Azure Cosmos DB poderá ser até 98% mais barato do que essas outras soluções (para transações de 1 KB).

Próximas etapas

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