Introduktion till etablerat dataflöde i Azure Azure Azures DB

GÄLLER FÖR: SQL API Api Gremlin API Table API Azure Azure Db API för MongoDB

Med Azure Azure AzureS DB kan du ange etablerat dataflöde för dina databaser och behållare. Det finns två typer av etableringsflöde, standard (manuell) eller automatisk skala. Den här artikeln ger en översikt över hur etablerat dataflöde fungerar.

En Azure Azure Azures-databas är en enhet för hantering för en uppsättning behållare. En databas består av en uppsättning schema-agnostic-behållare. En Azure Azure Azure-behållare är en skalbarhetsenhet för både dataflöde och lagring. En behållare partitioneras vågrätt över en uppsättning datorer i en Azure-region och fördelas över alla Azure-regioner som är kopplade till ditt Azure Azure-konto.

Med Azure Azure Azures DB kan du tillhandahålla dataflöde på två granulariteter:

  • Azure Azure Containerss-behållare
  • Azure Azure-databaser

Ange dataflöde för en behållare

Dataflödet som etableras på en Azure Azures-behållare är exklusivt reserverad för behållaren. Behållaren tar emot det etablerade dataflödet hela tiden. Det etablerade dataflödet i en behållare backas upp av SLA:er. Mer information om hur du konfigurerar standard (manuell) dataflöde i en behållare finns i Tillhandahålla dataflöde på en Azure Azure-behållare för datalagring. Mer information om hur du konfigurerar automatisk skalning av dataflöde för en behållare finns i Tillhandahålla dataflöde för automatisk skalning.

Det vanligaste alternativet är att ange etablerat dataflöde i en behållare. Du kan få ett flexibelt genomflödesflöde för en behållare genom att etablera hur mycket dataflöde som helst med hjälp av begärandeenheter.

Dataflödet som tillhandahålls för en behållare fördelas jämnt mellan dess fysiska partitioner och under förutsättning att de har en bra partitionsnyckel som fördelar de logiska partitionerna jämnt mellan de fysiska partitionerna fördelas dataflödet jämnt mellan alla logiska partitioner i behållaren. Du kan inte selektivt ange dataflödet för logiska partitioner. Eftersom en eller flera logiska partitioner av en behållare lagras av en fysisk partition, tillhör de fysiska partitionerna enbart behållaren och stöder dataflödet som tillhandahålls i behållaren.

Om arbetsbelastningen som körs på en logisk partition tar upp mer än det dataflöde som var allokerat till den underliggande fysiska partitionen är det möjligt att dina åtgärder kommer att vara rate-begränsade. Vad som kallas snabb partition uppstår när en logisk partition har oproportionerligt många förfrågningar än andra partitionsnyckelvärden.

När rate-limiting inträffar kan du antingen öka det etablerade dataflödet för hela behållaren eller försöka igen. Du bör också se till att du väljer en partitionsnyckel som distribuerar lagrings- och begär volym jämnt. Mer information om partitionering finns i Partitionering och vågrät skalning i Azure Azure Azures DB.

Vi rekommenderar att du konfigurerar dataflödet i behållarens granularitet när du vill ha förutsägbara prestanda för behållaren.

Följande bild visar hur en fysisk partition är värd för en eller flera logiska partitioner av en behållare:

Fysisk partition som är värd för en eller flera logiska partitioner av en behållare

Ange dataflöde för en databas

När du etablerar dataflöde på en Azure Azure Azure-databas delas dataflödet mellan alla behållare (så kallade delade databasbehållare) i databasen. Ett undantag är om du har angett ett etablerat dataflöde på specifika behållare i databasen. Att dela det etablerade dataflödet på databasnivå mellan behållare kan jämföras med att lagra en databas i ett kluster med datorer. Eftersom alla behållare i en databas delar resurser som är tillgängliga på en dator, går det naturligt inte att förutspå prestanda för alla specifika behållare. Mer information om hur du konfigurerar etablerat dataflöde för en databas finns i Konfigurera etableringsdataflöde för en Azure Azure Azure-databas. Mer information om hur du konfigurerar automatisk skalning av dataflöde i en databas finns i Tillhandahålla dataflöde för automatisk skalning.

Eftersom alla behållare i databasen delar det etablerade dataflödet ger Azure Azure Azures DB inga förutsägbara genomflödesgarantier för en viss behållare i databasen. Den del av dataflödet som en viss behållare kan ta emot är beroende av:

  • Antalet behållare.
  • Valet av partitionsnycklar för olika behållare.
  • Fördelningen av arbetsbelastningen på olika logiska partitioner av behållare.

Vi rekommenderar att du konfigurerar dataflödet i en databas när du vill dela dataflödet mellan flera behållare, men inte vill avsätta dataflödet till en viss behållare.

Följande exempel visar var det är bättre att tillhandahålla dataflöde på databasnivån:

  • Att dela en databass etablerade dataflöde över en uppsättning behållare är användbart för ett flernivåprogram. Varje användare kan representeras av en särskild Azure Azure-behållare.

  • Att dela en databass etablerade dataflöde över en uppsättning behållare är användbart när du migrerar en NoSQL-databas, till exempel MongoDB eller Såandra, som ligger i ett kluster av virtuella maskiner eller från lokala fysiska servrar till Azure Faqs DB. Tänk på det etablerade dataflödet som konfigurerats i Azure Azures-databasen som en logisk motsvarighet, men mer kostnadseffektiv och mer kostnadseffektiv, till det som motsvarar beräkningskapaciteten för ditt MongoDB- ellerStringandra-kluster.

Alla behållare som skapas i en databas med etablerat dataflöde måste skapas med en partitionsnyckel. När som helst fördelas dataflödet som tilldelats en behållare i en databas över alla logiska partitioner i behållaren. Om du har behållare som delar etablerat dataflöde konfigurerat i en databas kan du inte selektivt tillämpa dataflödet på en specifik behållare eller en logisk partition.

Om arbetsbelastningen på en logisk partition tar upp mer än det dataflöde som tilldelas till en viss logisk partition är åtgärderna rate-limited. När hastighetsbegränsning uppstår kan du antingen öka dataflödet för hela databasen eller göra om försöken. Mer information om partitionering finns i Logiska partitioner.

Behållare i en delad dataflödesdatabas delar dataflödet (RU/s) som tilldelats den databasen. Med standard (manuell) etablerat dataflöde kan du ha upp till 25 behållare med minst 400 RU/s i databasen. Med automatiskt skalning etablerat dataflöde kan du ha upp till 25 behållare i en databas med automatiskskala på högst 4 000 RU/s (skalor mellan 400 och 4 000 RU/s).

Obs!

I februari 2020 introducerade vi en ändring som gör att du kan ha högst 25 behållare i en delad dataflödesdatabas, vilket bättre möjliggör delning av dataflödet mellan behållare. Efter de 25 första behållarna kan du bara lägga till fler behållare i databasen om de är etablerade med dedikerade dataflöde ,vilket är separat från det delade dataflödet för databasen.
Om ditt Azure Azure Azures DB-konto redan innehåller en delad dataflödesdatabas med =25 behållare är kontot och alla andra konton i samma Azure-prenumeration undantagna från den > här ändringen. Kontakta produktsupport om du har feedback eller frågor.

Om dina arbetsbelastningar innebär att du tar bort och återskapar alla samlingar i en databas rekommenderar vi att du släpper den tomma databasen och återskapar en ny databas innan du skapar den. Följande bild visar hur en fysisk partition kan vara värd för en eller flera logiska partitioner som tillhör olika behållare i en databas:

Fysisk partition som är värd för en eller flera logiska partitioner som tillhör olika behållare

Ange dataflöde för en databas och en behållare

Du kan kombinera de två modellerna. Etablering av dataflöde i både databasen och behållaren tillåts. I följande exempel visas hur du etablerar standard (manuell) etablerat dataflöde för en Azure Azures-databas och en behållare:

  • Du kan skapa en Azure Azure Azure-databas med namnet Z med standard (manuell) etablerat dataflöde för KUs.

  • Skapa sedan fem behållare med namnet A,B,C,Doch E i databasen. När du skapar behållare B måste du aktivera det dedikerade dataflödet för den här behållarens alternativ och uttryckligen konfigurera P-RUs för etablerat dataflöde på den här behållaren. Du kan bara konfigurera delat och dedikerat dataflöde när du skapar databasen och behållaren.

    Ange dataflödet på behållarnivå

  • Dataflödet för KUs delas mellan de fyra behållarna A,C,Doch E. Den exakta mängden dataflöde som är tillgängligt för A,C,Deller E varierar. Det finns inga SLA:er för varje enskild behållares dataflöde.

  • Det är garanterad att behållaren med namnet B får dataflödet för "P" RUs hela tiden. Den backas upp av SLA:er.

Obs!

En behållare med etablerat dataflöde kan inte konverteras till en delad databasbehållare. Och en delad databasbehållare kan inte konverteras till ett dedikerat dataflöde.

Uppdatera dataflödet i en databas eller en behållare

När du har skapat en Azure Azure Azure-behållare eller en databas kan du uppdatera det etablerade dataflödet. Det finns ingen gräns för det maximala provisionerade dataflödet som du kan konfigurera i databasen eller behållaren.

Aktuellt etablerat dataflöde

Du kan hämta det etablerade dataflödet för en behållare eller en databas i Azure-portalen eller med hjälp av SDKs:

Svaret på de här metoderna innehåller även det minsta etablerade dataflödet för behållaren eller databasen:

Det faktiska lägsta antalet RU/s kan variera beroende på din kontokonfiguration. Men oftast är det det högsta värdet:

  • 400 RU/s
  • Aktuellt lagringsutrymme i GB * 10 RU/s (det här villkoret kan vara ledigt i vissa fall, se vårt program för hög lagring/låg dataflöde )
  • Högsta ru/s någonsin etablerat på databasen eller behållaren / 100

Ändra det etablerade dataflödet

Du kan skala det etablerade dataflödet för en behållare eller en databas via Azure-portalen eller med hjälp av SDKs:

Om du minskar det etablerade dataflödetkan du göra det upp till ett minimum.

Om du ökar det etablerade dataflödethänder åtgärden omedelbart. Det finns dock fall där åtgärden kan ta längre tid på grund av systemuppgifterna för att tillhandahålla nödvändiga resurser. I det här fallet ger ett försök att ändra det etablerade dataflödet medan den här åtgärden pågår ett HTTP 423-svar med ett felmeddelande som förklarar att en annan skalningsåtgärd pågår.

Mer information finns i artikeln Rekommendationer för skalning av etablerat dataflöde (RU/s).

Obs!

Om du planerar för en mycket stor belastning på påflödet som kräver en stor ökning av det etablerade dataflödet bör du komma ihåg att skalningsåtgärden inte har något SLA och, som nämns i föregående stycke, kan det ta lång tid när ökningen är stor. Du kanske vill planera i förväg och börja skalningen innan arbetsbelastningen börjar och använda nedanstående metoder för att kontrollera förloppet.

Du kan programmässigt kontrollera förloppet för skalning genom att läsa aktuellt etablerat dataflöde och använda:

Du kan använda Azure Monitor-mått för att visa historik för etablerat dataflöde (RU/s) och lagring för en resurs.

Program för hög lagring/låg dataflöde

Enligt beskrivningen i avsnittet Aktuellt etablerat dataflöde ovan beror det minsta dataflödet du kan etablera i en behållare eller databas på ett antal faktorer. En av dem är mängden data som för närvarande lagras, eftersom Azure Azure Azures DB framtvingar ett minsta dataflöde på 10 RU/s per GB lagringsutrymme.

Det kan vara ett problem i situationer där du behöver lagra stora mängder data, men har låga krav på dataflöde i jämförelse. För att bättre passa dessa scenarier har Azure Azure Azure Db introducerat ett program för hög lagrings-/låg dataflöde som minskar RU/s per GB-begränsning på kvalificerade konton.

Allt du behöver göra för att delta i det här programmet och bedöma ditt fullständiga berättigande är att fylla i undersökningen. Azure Azure Azures DB-teamet kommer sedan att följa upp och fortsätta med din registrering.

Jämförelse av modeller

Den här tabellen visar en jämförelse mellan standarddataflöde (manuell) i en databas och på en behållare.

Parameter Standarddataflöde (manuell) i en databas Standardgenomflöde (manuell) i en behållare Dataflöde för automatisk skalning i en databas Dataflöde för automatisk skalning i en behållare
Startpunkt (lägsta RU/er) 400 RU/s. Får ha upp till 25 behållare som inte är minst 100 000 per behållare. 400 Automatisk skala mellan 400–4 000 RU/s. Får ha upp till 25 behållare som inte är minst 100 000 per behållare. Automatisk skala mellan 400–4 000 RU/s.
Lägsta RU/s per behållare -- 400 -- Automatisk skala mellan 400–4 000 RU/s
Maximalt antal RUs Obegränsat, i databasen. Obegränsat, i behållaren. Obegränsat, i databasen. Obegränsat, i behållaren.
RUs assigned or available to a specific container Inga garantier. De RUs som tilldelats till en viss behållare är beroende av egenskaperna. Egenskaper kan vara valet av partitionsnycklar för behållare som delar dataflödet, fördelningen av arbetsbelastningen och antalet behållare. Alla RUs som konfigurerats i behållaren är exklusivt reserverade för behållaren. Inga garantier. De RUs som tilldelats till en viss behållare är beroende av egenskaperna. Egenskaper kan vara valet av partitionsnycklar för behållare som delar dataflödet, fördelningen av arbetsbelastningen och antalet behållare. Alla RUs som konfigurerats i behållaren är exklusivt reserverade för behållaren.
Maximal lagring för en behållare Obegränsat. Obegränsat Obegränsat Obegränsat
Maximalt dataflöde per logisk partition av en behållare 10K RU/s 10K RU/s 10K RU/s 10K RU/s
Maximal lagring (data + index) per logisk partition av en behållare 20 GB 20 GB 20 GB 20 GB

Nästa steg