Aanvraag eenheden in Azure Cosmos DBRequest Units in Azure Cosmos DB

Met Azure Cosmos DB betaalt u de door u ingerichte door Voer en de opslag die u per uur verbruikt.With Azure Cosmos DB, you pay for the throughput you provision and the storage you consume on an hourly basis. De door voer moet worden ingericht om ervoor te zorgen dat er te allen tijde voldoende systeem bronnen beschikbaar zijn voor uw Azure Cosmos-data base.Throughput must be provisioned to ensure that sufficient system resources are available for your Azure Cosmos database at all times. U hebt voldoende resources nodig om te voldoen aan de Azure Cosmos DB sla's.You need enough resources to meet or exceed the Azure Cosmos DB SLAs.

Azure Cosmos DB ondersteunt veel Api's, zoals SQL, MongoDB, Cassandra, Gremlin en Table.Azure Cosmos DB supports many APIs, such as SQL, MongoDB, Cassandra, Gremlin, and Table. Elke API heeft een eigen set database bewerkingen.Each API has its own set of database operations. Deze bewerkingen variëren van eenvoudig punt Lees-en schrijf bewerkingen naar complexe query's.These operations range from simple point reads and writes to complex queries. Bij elke database bewerking worden systeem resources verbruikt op basis van de complexiteit van de bewerking.Each database operation consumes system resources based on the complexity of the operation.

De kosten van alle database bewerkingen worden genormaliseerd door Azure Cosmos DB en worden uitgedrukt in aanvraag eenheden (of RUs voor short).The cost of all database operations is normalized by Azure Cosmos DB and is expressed by Request Units (or RUs, for short). U kunt RUs per seconde beschouwen als de valuta voor door voer.You can think of RUs per second as the currency for throughput. RUs per seconde is een op tarieven gebaseerde valuta.RUs per second is a rate-based currency. De systeem bronnen zoals CPU, IOPS en geheugen die nodig zijn om de database bewerkingen uit te voeren die door Azure Cosmos DB worden ondersteund, worden abstract.It abstracts the system resources such as CPU, IOPS, and memory that are required to perform the database operations supported by Azure Cosmos DB.

De kosten voor het lezen van een 1 KB-item zijn 1 aanvraag eenheid (of 1 RU).The cost to read a 1 KB item is 1 Request Unit (or 1 RU). Alle andere database bewerkingen worden op dezelfde manier toegewezen als kosten met behulp van RUs.All other database operations are similarly assigned a cost using RUs. Ongeacht welke API u gebruikt om te communiceren met uw Azure Cosmos-container, worden de kosten altijd gemeten door RUs.No matter which API you use to interact with your Azure Cosmos container, costs are always measured by RUs. Of de database bewerking een schrijf-, lees-of query is, worden de kosten altijd gemeten in RUs.Whether the database operation is a write, read, or query, costs are always measured in RUs.

In de volgende afbeelding ziet u het hoge idee van RUs:The following image shows the high-level idea of RUs:

Database bewerkingen gebruiken aanvraag eenheden

Azure Cosmos DB zorgt ervoor dat het aantal RUs voor een bepaalde database bewerking in een bepaalde gegevensset deterministisch is om de capaciteit te beheren en te plannen.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. U kunt de reactie header controleren om het aantal RUs bij te houden dat door een database bewerking wordt gebruikt.You can examine the response header to track the number of RUs that are consumed by any database operation. Wanneer u de factoren begrijpt die van invloed zijn op de ru-kosten en de doorvoer vereisten van uw toepassing, kunt u uw toepassing effectief uitvoeren.When you understand the factors that affect RU charges and your application's throughput requirements, you can run your application cost effectively.

U voorziet het aantal RUs voor uw toepassing per seconde op basis van een interval van 100 RUs per seconde.You provision the number of RUs for your application on a per-second basis in increments of 100 RUs per second. Als u de ingerichte door Voer voor uw toepassing wilt schalen, kunt u het aantal RUs op elk gewenst moment verg Roten of verkleinen.To scale the provisioned throughput for your application, you can increase or decrease the number of RUs at any time. U kunt schalen in stappen of verlaagt 100 RUs.You can scale in increments or decrements of 100 RUs. U kunt uw wijzigingen programmatisch of via de Azure Portal maken.You can make your changes either programmatically or by using the Azure portal. U wordt per uur gefactureerd.You are billed on an hourly basis.

U kunt de door Voer op twee verschillende granulariteit inrichten:You can provision throughput at two distinct granularities:

Overwegingen voor aanvraag eenhedenRequest Unit considerations

Bij het schatten van het aantal RUs per seconde voor het inrichten, moet u rekening houden met de volgende factoren:While you estimate the number of RUs per second to provision, consider the following factors:

  • Item grootte: Naarmate de grootte van een item toeneemt, neemt het aantal dat wordt gebruikt voor het lezen of schrijven van het item ook toe.Item size: As the size of an item increases, the number of RUs consumed to read or write the item also increases.

  • Items indexeren: Elk item wordt standaard automatisch geïndexeerd.Item indexing: By default, each item is automatically indexed. Minder RUs wordt verbruikt als u ervoor kiest om een aantal van uw items in een container niet te indexeren.Fewer RUs are consumed if you choose not to index some of your items in a container.

  • Aantal item eigenschappen: Ervan uitgaande dat de standaard indexering op alle eigenschappen is ingesteld, wordt het aantal verbruikte RUs voor het schrijven van een item verhoogd naarmate het aantal eigenschappen van het item toeneemt.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.

  • Geïndexeerde eigenschappen: Een index beleid op elke container bepaalt welke eigenschappen standaard worden geïndexeerd.Indexed properties: An index policy on each container determines which properties are indexed by default. Als u het RU-verbruik voor schrijf bewerkingen wilt verminderen, beperkt u het aantal geïndexeerde eigenschappen.To reduce the RU consumption for write operations, limit the number of indexed properties.

  • Gegevens consistentie: De sterke en gebonden consistentie niveaus voor veroudering worden ongeveer twee keer meer gebruikt tijdens het uitvoeren van Lees bewerkingen in vergelijking met die van andere beperkte consistentie niveaus.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.

  • Query patronen: De complexiteit van een query is van invloed op het aantal verbruikte RUs voor een bewerking.Query patterns: The complexity of a query affects how many RUs are consumed for an operation. Factoren die van invloed zijn op de kosten van query bewerkingen zijn onder andere:Factors that affect the cost of query operations include:

    • Het aantal query resultatenThe number of query results
    • Het aantal predikatenThe number of predicates
    • De aard van de predikatenThe nature of the predicates
    • Het aantal door de gebruiker gedefinieerde functiesThe number of user-defined functions
    • De grootte van de bron gegevensThe size of the source data
    • De grootte van de resultatensetThe size of the result set
    • ProjectiesProjections

    Azure Cosmos DB garandeert dat dezelfde query op dezelfde gegevens altijd hetzelfde aantal RUs voor herhaalde uitvoeringen kost.Azure Cosmos DB guarantees that the same query on the same data always costs the same number of RUs on repeated executions.

  • Script gebruik: Net als bij query's gebruiken opgeslagen procedures en triggers RUs op basis van de complexiteit van de bewerkingen die worden uitgevoerd.Script usage: As with queries, stored procedures and triggers consume RUs based on the complexity of the operations that are performed. Controleer bij het ontwikkelen van uw toepassing de koptekst van de aanvraag lading om meer inzicht te krijgen in de hoeveelheid ru-capaciteit die door elke bewerking wordt verbruikt.As you develop your application, inspect the request charge header to better understand how much RU capacity each operation consumes.

Volgende stappenNext steps