Del via


Forespørgselsenheder i Cosmos DB i Microsoft Fabric

Microsoft Fabric rapporterer al brug og fakturering ved brug af kapacitetsenheder. Cosmos DB i Microsoft Fabric normaliserer internt omkostningerne ved alle databaseoperationer ved brug af Request Units (eller RU'er, for kort) og måler omkostninger baseret på gennemstrømning (Request Units per second, RU/s). RU/s fra Cosmos DB konverteres derefter til CU'er inden for Fabric til brug og fakturering.

Anmodningsenhed er en ydelsesvaluta, der abstrakterer systemressourcerne, f.eks. behandling (CPU), input-/outputhandlinger (IOPS) og hukommelse, der kræves for at udføre de databasehandlinger, der understøttes af Cosmos DB i Fabric. Uanset om databasehandlingen er en skrive-, punktlæsnings- eller forespørgselshandling, måles handlinger altid i RU'er.

Et punkt, der læses, er f.eks. det navn, der bruges til at henvise til hentning af et enkelt element ved hjælp af id'et og partitionsnøgleværdien. Et punkt, der læses for et element på 1 KB, svarer til én anmodningsenhed.

Du kan kategorisere almindelige databasehandlinger i bestemte typer og foretage rimelige antagelser om antallet af anmodningsenheder, der forbruges af hver handlingstype:

Operation Description
Læs betjening Bruger én jernbanevirksomhed
Indsæt betjening Bruger et variabelt antal RU'er
Upsert-drift Bruger et variabelt antal RU'er
Slet handling Bruger et variabelt antal RU'er
Forespørgsel handling Forbruger et variabelt antal RU'er, muligvis mere end punkthandlinger

Diagram, der illustrerer forskellige databasehandlinger, og hvordan de bruger anmodningsenheder.

Diagrammet forbinder visuelt feltet med ressourceforbrug til databasehandlinger, der illustrerer, at hver handling bruger RU'er baseret på ressourcekravene.

Cosmos DB i Fabric sikrer, at antallet af RU'er for en given databasehandling for et givet datasæt er deterministisk for at administrere og planlægge kapacitet. Du kan undersøge svarheaderen for at spore antallet af RU'er, der forbruges af en databasehandling. Når du forstår de faktorer, der påvirker gebyrer for jernbanevirksomhed og dit programs krav til dataoverførselshastighed, kan du køre dit program omkostningseffektivt. I næste afsnit forklares de tidligere nævnte faktorer, der påvirker jernbanevirksomhedens forbrug.

Considerations

Selvom du anslår antallet af RU'er, der forbruges af din arbejdsbelastning, skal du overveje følgende faktorer:

  • Elementstørrelse: Efterhånden som størrelsen på et element øges, øges antallet af anmodningsenheder, der bruges til at læse eller skrive elementet, også.

  • Indeksering af elementer: Som standard indekseres hvert element automatisk. Der bruges færre RU'er, hvis du vælger ikke at indeksere nogle af elementerne i en objektbeholder.

  • Antal elementer: Hvis standardindekseringen er på alle egenskaber, øges antallet af RUs, der bruges til at skrive et element, i takt med at antallet af elementegenskaber øges.

  • Indekserede egenskaber: En indekspolitik for hver objektbeholder bestemmer, hvilke egenskaber der indekseres som standard. Hvis du vil reducere ru-forbruget for skrivehandlinger, skal du begrænse antallet af indekserede egenskaber.

  • Type af læsninger: Punktlæsninger koster færre RU'er end forespørgsler.

  • Forespørgselsmønstre: Kompleksiteten af en forespørgsel påvirker, hvor mange anmodningsenheder der forbruges til en handling. Faktorer, der påvirker omkostningerne ved forespørgselshandlinger, omfatter:

    • Antallet af forespørgselsresultater
    • Antallet af prædikater
    • Prædikaternes art
    • Antallet af brugerdefinerede funktioner
    • Størrelsen af kildedataene
    • Størrelsen af resultatsættet
    • Antallet og størrelsen af egenskaber, der projiceres ud fra en forespørgsel

    Den samme forespørgsel på de samme data koster altid det samme antal RU'er ved gentagne udførelser.