Unidades de pedido no Azure Cosmos DBRequest Units in Azure Cosmos DB

Com o Azure Cosmos DB, paga a taxa de transferência, aprovisionamento e o armazenamento que consumir numa base horária.With Azure Cosmos DB, you pay for the throughput you provision and the storage you consume on an hourly basis. Taxa de transferência tem de ser aprovisionada para garantir que os recursos de sistema suficientes estão disponíveis para sua base de dados do Cosmos do Azure em todos os momentos.Throughput must be provisioned to ensure that sufficient system resources are available for your Azure Cosmos database at all times. Tem recursos suficientes para atingir ou exceder os SLAs do Azure Cosmos DB.You need enough resources to meet or exceed the Azure Cosmos DB SLAs.

O Azure Cosmos DB suporta várias APIs, como SQL, MongoDB, Cassandra, Gremlin e tabela.Azure Cosmos DB supports many APIs, such as SQL, MongoDB, Cassandra, Gremlin, and Table. Cada API tem seu próprio conjunto de operações de base de dados.Each API has its own set of database operations. Estas variam de operações de ponto de simple lê e escreve consultas complexas.These operations range from simple point reads and writes to complex queries. Cada operação de base de dados consome recursos do sistema com base na complexidade da operação.Each database operation consumes system resources based on the complexity of the operation.

O custo de todas as operações de base de dados é normalizado pelo Azure Cosmos DB e é expressa por unidades de pedido (ou RUs, para abreviar).The cost of all database operations is normalized by Azure Cosmos DB and is expressed by Request Units (or RUs, for short). Pode pensar RUs por segundo, como a moeda de débito.You can think of RUs per second as the currency for throughput. RU por segundo é a moeda de uma taxa.RUs per second is a rate-based currency. Ele abstrai os recursos do sistema, tais como CPU, memória e IOPS, que são necessárias para realizar as operações de base de dados suportadas pelo Azure Cosmos DB.It abstracts the system resources such as CPU, IOPS, and memory that are required to perform the database operations supported by Azure Cosmos DB.

O custo para ler um 1 KB é item 1 unidade de pedido (ou 1 RU).The cost to read a 1 KB item is 1 Request Unit (or 1 RU). Todas as outras operações de base de dados da mesma forma são atribuídas um custo com o RUs.All other database operations are similarly assigned a cost using RUs. Não importa qual API que utilizar para interagir com o contentor do Cosmos do Azure, os custos são sempre medidos pela RUs.No matter which API you use to interact with your Azure Cosmos container, costs are always measured by RUs. Se a operação de base de dados é uma gravação, custos de leitura ou de consulta, são sempre medidos em RUs.Whether the database operation is a write, read, or query, costs are always measured in RUs.

A imagem seguinte mostra a idéia de alto nível de RUs:The following image shows the high-level idea of RUs:

Operações de base de dados consumam unidades de pedido

Para gerir e planear a capacidade, o Azure Cosmos DB garante que o número de RUs para uma operação de base de dados especificada ao longo de um determinado conjunto de dados é determinístico.To manage and plan capacity, Azure Cosmos DB ensures that the number of RUs for a given database operation over a given dataset is deterministic. Pode examinar o cabeçalho de resposta para controlar o número de RUs consumidos por qualquer operação de base de dados.You can examine the response header to track the number of RUs that are consumed by any database operation. Quando compreender o fatores que afetam os custos de RU e requisitos de débito da sua aplicação, pode executar a aplicação com eficiência de custos.When you understand the factors that affect RU charges and your application's throughput requirements, you can run your application cost effectively.

Aprovisionar o número de RUs para a sua aplicação numa base por segundo em incrementos de 100 RU por segundo.You provision the number of RUs for your application on a per-second basis in increments of 100 RUs per second. Para dimensionar o débito aprovisionado para a sua aplicação, pode aumentar ou diminuir o número de Urs em qualquer altura.To scale the provisioned throughput for your application, you can increase or decrease the number of RUs at any time. Pode dimensionar em incrementos ou diminui de 100 RUs.You can scale in increments or decrements of 100 RUs. Pode fazer as alterações por meio de programação ou através do portal do Azure.You can make your changes either programmatically or by using the Azure portal. É cobrado à hora.You are billed on an hourly basis.

Pode aprovisionar o débito em duas granularidades distintos:You can provision throughput at two distinct granularities:

Considerações de unidade de pedidoRequest Unit considerations

Embora a estimar o número de RUs por segundo para aprovisionar, considere os seguintes fatores:While you estimate the number of RUs per second to provision, consider the following factors:

  • Tamanho do item: À medida que aumenta o tamanho de um item, também aumenta o número de RUs consumidos para ler ou escrever o item.Item size: As the size of an item increases, the number of RUs consumed to read or write the item also increases.

  • Indexação do item: Por predefinição, cada item é indexado automaticamente.Item indexing: By default, each item is automatically indexed. Menos RUs são consumidos se optar por não indexar alguns dos seus itens num contentor.Fewer RUs are consumed if you choose not to index some of your items in a container.

  • Contagem de propriedade do item: Partindo do princípio de que a indexação de padrão é em todas as propriedades, o número de RUs consumidas para escrever que um item aumenta à medida que os aumentos de contagem de propriedade do item.Item property count: Assuming the default indexing is on all properties, the number of RUs consumed to write an item increases as the item property count increases.

  • Propriedades indexadas: Uma política de índice em cada contentor determina quais propriedades são indexadas por predefinição.Indexed properties: An index policy on each container determines which properties are indexed by default. Para reduzir o consumo de RU para operações de escrita, limite o número de propriedades indexadas.To reduce the RU consumption for write operations, limit the number of indexed properties.

  • Consistência dos dados: Os níveis de consistência forte e estagnação limitada consumam RUs aproximadamente duas vezes mais durante a realização de operações de leitura quando comparada com a que de outro Relaxada níveis de consistência.Data consistency: The strong and bounded staleness consistency levels consume approximately two times more RUs while performing read operations when compared to that of other relaxed consistency levels.

  • Padrões de consulta: A complexidade de uma consulta afeta RUs quantos são consumidos para uma operação.Query patterns: The complexity of a query affects how many RUs are consumed for an operation. Fatores que afetam o custo das operações de consulta:Factors that affect the cost of query operations include:

    • O número de resultados da consultaThe number of query results
    • O número de predicadosThe number of predicates
    • A natureza dos predicadosThe nature of the predicates
    • O número de funções definidas pelo utilizadorThe number of user-defined functions
    • O tamanho dos dados de origemThe size of the source data
    • O tamanho do conjunto de resultadosThe size of the result set
    • ProjeçõesProjections

    O Azure Cosmos DB garante que a mesma consulta nos mesmos dados custa sempre o mesmo número de RUs em execuções repetidas.Azure Cosmos DB guarantees that the same query on the same data always costs the same number of RUs on repeated executions.

  • Utilização do script: Tal como acontece com consultas, procedimentos armazenados e acionadores consumam RUs com base na complexidade das operações que são executadas.Script usage: As with queries, stored procedures and triggers consume RUs based on the complexity of the operations that are performed. Ao desenvolver seu aplicativo, Inspecione o cabeçalho do pedido de cobrança para compreender melhor quanta capacidade de RU consome de cada operação.As you develop your application, inspect the request charge header to better understand how much RU capacity each operation consumes.

Passos SeguintesNext steps