Dela via


Begäranheter i Cosmos DB i Microsoft Fabric (förhandsversion)

Viktigt!

Den här funktionen är i förhandsversion.

Cosmos DB i Microsoft Fabric normaliserar kostnaden för alla databasåtgärder med hjälp av begäranden (eller RU:er, kort och gott) och mäter kostnad baserat på genomströmning (begäranden per sekund, RU/s).

Begärandeenheten är en prestandavaluta som abstraherar systemresurserna, till exempel bearbetning (CPU), indata-/utdataåtgärder (IOPS) och minne som krävs för att utföra de databasåtgärder som stöds av Cosmos DB i Fabric. Oavsett om databasåtgärden är en skriv-, punktläsnings- eller fråga mäts åtgärder alltid i RU:er.

En punktläsning är till exempel namnet som används för att referera till att hämta ett enskilt objekt med dess ID och partitionsnyckelvärde. En punktläsning för ett 1 KB objekt motsvarar en RU-enhet (Request Unit).

Du kan kategorisera vanliga databasåtgärder i specifika typer och göra rimliga antaganden om antalet enheter för begäranden som förbrukas av varje åtgärdstyp:

Verksamhet Beskrivning
Läsåtgärd Förbrukar en RU
Infoga åtgärd Förbrukar ett variabelt antal RU:er
Upsert-åtgärd Förbrukar ett variabelt antal RU:er
Ta bort åtgärd Förbrukar ett variabelt antal RU:er
Frågeoperation Förbrukar ett variabelt antal RU:er, potentiellt fler än punktåtgärder

Diagram som illustrerar olika databasåtgärder och hur de använder enheter för begäranden.

Diagrammet ansluter visuellt resursanvändningsrutan till databasåtgärderna, vilket illustrerar att varje åtgärd förbrukar RU:er baserat på dess resurskrav.

För att hantera och planera kapacitet säkerställer Cosmos DB i Fabric att antalet RU:er för en viss databasåtgärd över en viss datauppsättning är deterministisk. Du kan granska svarshuvudet för att spåra antalet RU:er som förbrukas av en databasåtgärd. När du förstår de faktorer som påverkar RU-kostnader och dataflödeskraven för ditt program kan du köra programmet kostnadseffektivt. I nästa avsnitt beskrivs de tidigare nämnda faktorerna som påverkar RU-förbrukningen.

Överväganden

Tänk på följande faktorer när du beräknar antalet RU:er som förbrukas av din arbetsbelastning:

  • Objektstorlek: När storleken på ett objekt ökar ökar även antalet RU:er som används för att läsa eller skriva objektet.

  • Objektindexering: Som standard indexeras varje objekt automatiskt. Färre enheter för programbegäran används om du väljer att inte indexera vissa av objekten i en container.

  • Antal objektegenskaper: Förutsatt att standardindexeringen finns på alla egenskaper ökar antalet RU:er som används för att skriva ett objekt när antalet objektegenskaper ökar.

  • Indexerade egenskaper: En indexprincip för varje container avgör vilka egenskaper som indexeras som standard. Om du vill minska förbrukningen av enheter för programbegäran för skrivåtgärder bör du begränsa antalet indexerade egenskaper.

  • Datakonsekvens: De starka och begränsade föråldringskonsekvensnivåerna förbrukar ungefär två gånger fler RU:er medan läsåtgärder utförs jämfört med andra avslappnade konsekvensnivåer.

  • Typ av läsningar: Punktläsningar kostar färre RU:er än frågor.

  • Frågemönster: Komplexiteten i en fråga påverkar hur många RU:er som används för en åtgärd. Faktorer som påverkar kostnaden för frågeåtgärder omfattar:

    • Antalet frågeresultat
    • Antalet predikat
    • Predikatens karaktär
    • Antalet användardefinierade funktioner
    • Storleken på källdata
    • Storleken på resultatuppsättningen
    • Prognoser

    Samma fråga på samma data kostar alltid samma antal RU:er vid upprepade körningar.

  • Skriptanvändning: Precis som med frågor använder lagrade procedurer och utlösare RU:er baserat på komplexiteten i de åtgärder som utförs. När du utvecklar ditt program kontrollerar du rubriken för begärandeavgift för att bättre förstå hur mycket RU-kapacitet varje åtgärd förbrukar.

Flera regioner

Om du tilldelar "R" RUs på en Cosmos DB i Fabric-container (eller databas) ser Cosmos DB i Fabric till att "R" RUs är tillgängliga i varje region som är associerad med ditt Cosmos DB i Fabric-konto. Du kan inte selektivt tilldela RU:er till en viss region. RU:erna som tilldelas i en Cosmos DB i Fabric-container (eller databas) tilldelas i alla regioner som är associerade med ditt Cosmos DB i Fabric-konto.

Förutsatt att en Cosmos DB i Fabric-containern har konfigurerats med R-ru :er och det finns N-regioner som är associerade med Cosmos DB i Fabric-kontot, är det totala antalet RU:er som är tillgängliga globalt på containern = R x N.

Ditt val av konsekvensmodell påverkar också genomströmningen. Du kan få ungefär 2 x läsdataflöde för de mer avslappnade konsekvensnivåerna (session, *konsekvent prefix och slutlig konsekvens) jämfört med starkare konsekvensnivåer (begränsad inaktuellhet eller stark konsekvens).