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.