Azure Cosmos DB servicequota

VAN TOEPASSING OP: SQL-API Cassandra-API Gremlin-API Table-API Azure Cosmos DB-API voor MongoDB

Dit artikel bevat een overzicht van de standaardquota's die worden aangeboden aan verschillende resources in de Azure Cosmos DB.

Storage en databasebewerkingen

Nadat u een Azure Cosmos-account onder uw abonnement hebt gemaakt, kunt u gegevens in uw account beheren door databases, containers en items te maken.

Ingerichte doorvoer

U kunt doorvoer inrichten op containerniveau of databaseniveau in aanvraageenheden (RU/s of RU's). De volgende tabel bevat de limieten voor opslag en doorvoer per container/database. Storage verwijst naar de gecombineerde hoeveelheid gegevens en indexopslag.

Resource Standaardlimiet
Maximum aantal IN's per container(modus voor inrichten van toegewezen doorvoer) Standaard 1.000.000. U kunt dit verhogen door een ondersteuning voor Azure indienen
Maximum aantal IN's per database (in de modusvoor gedeelde doorvoer ingericht) Standaard 1.000.000. U kunt dit verhogen door een ondersteuning voor Azure indienen
Maximum aantal RUs per partitie (logische & fysiek) 10.000
Maximale opslag voor alle items per (logische) partitie 20 GB
Maximum aantal afzonderlijke (logische) partitiesleutels Onbeperkt
Maximale opslag per container Onbeperkt
Maximale opslag per database Onbeperkt
Maximale bijlagegrootte per account (bijlagefunctie wordt afgeschaft) 2 GB
Minimale RU/s vereist per 1 GB 10 RU/s
Opmerking: dit minimum kan worden verlaagd als uw account in aanmerking komt voor ons programma voor hoge opslag/lage doorvoer

Notitie

Raadpleeg Een synthetische partitiesleutel maken voor meer informatie over best practices voor het beheren van workloads met partitiesleutels waarvoor hogere limieten voor opslag of doorvoer zijn vereist.

Minimale doorvoerlimieten

Een Cosmos-container (of gedeelde doorvoerdatabase) moet een minimale doorvoer van 400 RU/s hebben. Naarmate de container groeit, Cosmos DB minimale doorvoer nodig om ervoor te zorgen dat de database of container voldoende resources heeft voor de bewerkingen.

De huidige en minimale doorvoer van een container of database kunnen worden opgehaald uit de Azure Portal of de SDK's. Zie Doorvoer inrichten voor containers en databases voor meer informatie.

De werkelijke minimale RU/s kunnen variëren, afhankelijk van uw accountconfiguratie. U kunt de Azure Monitor gebruiken om de geschiedenis van de inrichtende doorvoer (RU/s) en opslag op een resource weer te geven.

Minimale doorvoer voor container

Als u een schatting wilt maken van de minimale doorvoer die is vereist voor een container met handmatige doorvoer, gaat u naar het maximum van:

  • 400 RU/s
  • Huidige opslag in GB * 10 RU/s
  • Hoogste RU/s ooit ingericht voor de container / 100

Voorbeeld: Stel dat u een container hebt ingericht met 400 RU/s en 0 GB opslag. U verhoogt de doorvoer naar 50.000 RU/s en importeert 20 GB aan gegevens. De minimale RU/s is nu MAX(400, 20 * 10 RU/s per GB, 50,000 RU/s / 100) = 500 RU/s. Na een periode neemt de opslag toe tot 200 GB. De minimale RU/s is nu MAX(400, 200 * 10 RU/s per GB, 50,000 / 100) = 2000 RU/s.

Opmerking: de minimale doorvoer van 10 RU/s per GB aan opslag kan worden verlaagd als uw account in aanmerking komt voor ons programma 'hoge opslag/lage doorvoer'.

Minimale doorvoer voor gedeelde doorvoerdatabase

Als u een schatting wilt maken van de minimale doorvoer die vereist is voor een gedeelde doorvoerdatabase met handmatige doorvoer, zoekt u de maximumwaarde van:

  • 400 RU/s
  • Huidige opslag in GB * 10 RU/s
  • Hoogste RU/s ooit ingericht voor de database / 100
  • 400 + MAX(aantal containers - 25, 0) * 100 RU/s

Voorbeeld: Stel dat u een database hebt ingericht met 400 RU/s, 15 GB aan opslagruimte en 10 containers. De minimale RU/s is MAX(400, 15 * 10 RU/s per GB, 400 / 100, 400 + 0 ) = 400 RU/s. Als de database 30 containers bevat, is de minimale RU/s 400 + MAX(30 - 25, 0) * 100 RU/s = 900 RU/s.

Opmerking: de minimale doorvoer van 10 RU/s per GB aan opslag kan worden verlaagd als uw account in aanmerking komt voor ons programma 'hoge opslag/lage doorvoer'.

Kortom, hier zijn de minimale ru-limieten die zijn ingericht.

Resource Standaardlimiet
Minimum aantal IN's per container(modus voor inrichten van toegewezen doorvoer) 400
Minimum aantal IN's per database (modus voor inrichten van gedeelde doorvoer) 400 RU/s voor de eerste 25 containers. Daarna zijn er 100 RU/s extra voor elke container.

Cosmos DB programmatisch schalen van doorvoer (RU/s) per container of database via de SDK's of portal.

Afhankelijk van de huidige RU/s die zijn ingericht en de resource-instellingen, kan elke resource synchroon en onmiddellijk worden geschaald tussen de minimale RU/s tot maximaal 100 keer de minimale RU/s. Als de aangevraagde doorvoerwaarde buiten het bereik valt, wordt schalen asynchroon uitgevoerd. Het kan enkele minuten tot uren duren voordat asynchrone schaalbaarheid is voltooid, afhankelijk van de aangevraagde doorvoer en de grootte van de gegevensopslag in de container.

Serverloos

Met serverloos kunt u uw Azure Cosmos DB gebruiken op basis van verbruik. De volgende tabel bevat de limieten voor de burstabiliteit van opslag en doorvoer per container/database.

Resource Limiet
Maximum aantal RU/s per container 5.000
Maximale opslag voor alle items per (logische) partitie 20 GB
Maximum aantal afzonderlijke (logische) partitiesleutels Onbeperkt
Maximale opslag per container 50 GB

Besturingsvlakbewerkingen

U kunt uw Azure Cosmos-account inrichten en beheren met behulp van Azure Portal-, Azure PowerShell-, Azure CLI- en Azure Resource Manager-sjablonen. De volgende tabel bevat de limieten per abonnement, account en aantal bewerkingen.

Resource Standaardlimiet
Maximum aantal databaseaccounts per abonnement Standaard 50. U kunt het aantal verhogen door een ondersteuning voor Azure maximaal 1000 te maken.
Maximumaantal regionale failovers Standaard 1/uur. U kunt dit verhogen door een ondersteuning voor Azure indienen

Notitie

Regionale failovers zijn alleen van toepassing op schrijfaccounts in één regio. Schrijfaccounts voor meerdere regio's vereisen geen of hebben geen limieten voor het wijzigen van de schrijfregio.

Cosmos DB maakt met regelmatige tussenpozen automatisch back-ups van uw gegevens. Zie Online back-up en gegevensherstel op aanvraag in Azure Cosmos DB voor meer informatie over back-upretentieintervallen Azure Cosmos DB.

Limieten per account

Ingerichte doorvoer

Resource Standaardlimiet
Maximumaantal databases 500
Maximum aantal containers per database met gedeelde doorvoer 25
Maximum aantal containers per database of account met toegewezen doorvoer 500
Maximum aantal regio's Geen limiet (alle Azure-regio's)

Serverloos

Resource Limiet
Maximum aantal containers per account 100
Maximum aantal regio's 1 (elke Azure-regio)

Limieten per container

Afhankelijk van welke API u gebruikt, kan een Azure Cosmos-container een verzameling, een tabel of grafiek vertegenwoordigen. Containers ondersteunen configuraties voor unieke sleutelbeperkingen, opgeslagen procedures, triggers en UDF'sen indexeringsbeleid. De volgende tabel bevat de limieten die specifiek zijn voor configuraties binnen een container.

Resource Standaardlimiet
Maximale lengte van database- of containernaam 255
Maximum aantal opgeslagen procedures per container 100 *
Maximum aantal UF's per container 50 *
Maximum aantal paden in indexeringsbeleid 100 *
Maximum aantal unieke sleutels per container 10 *
Maximum aantal paden per unieke sleutelbeperking 16 *
Maximale TTL-waarde 2147483647

*U kunt elk van deze limieten per container verhogen door een Ondersteuning voor Azure maken.

Limieten per item

Afhankelijk van welke API u gebruikt, kan een Azure Cosmos-item een document in een verzameling, een rij in een tabel of een knooppunt of rand in een grafiek vertegenwoordigen. In de volgende tabel ziet u de limieten per item in Cosmos DB.

Resource Standaardlimiet
Maximale grootte van een item 2 MB (UTF-8 lengte van JSON-weergave)
Maximale lengte van partitiesleutelwaarde 2048 bytes
Maximale lengte van id-waarde 1023 bytes
Maximum aantal eigenschappen per item Geen praktische limiet
Maximale lengte van eigenschapsnaam Geen praktische limiet
Maximale lengte van eigenschapswaarde Geen praktische limiet
Maximale lengte van de eigenschapswaarde van de tekenreeks Geen praktische limiet
Maximale lengte van numerieke eigenschapswaarde IEEE754 met dubbele precisie 64-bits
Maximumniveau van nesten voor ingesloten objecten/matrices 128
Maximale TTL-waarde 2147483647

Er zijn geen beperkingen voor de nettoladingen van items, zoals het aantal eigenschappen en de diepte van de nesting, met uitzondering van de lengtebeperkingen voor partitiesleutel- en id-waarden en de algehele groottebeperking van 2 MB. Mogelijk moet u indexeringsbeleid configureren voor containers met grote of complexe itemstructuren om het RU-verbruik te verminderen. Zie Items modelleren in Cosmos DB voor een voorbeeld uit de echte wereld en patronen voor het beheren van grote items.

Limieten per aanvraag

Azure Cosmos DB ondersteunt CRUD- en querybewerkingen voor resources zoals containers, items en databases. Het ondersteunt ook transactionele batchaanvragen voor meerdere items met dezelfde partitiesleutel in een container.

Resource Standaardlimiet
Maximale uitvoeringstijd voor één bewerking (zoals het uitvoeren van een opgeslagen procedure of het ophalen van één querypagina) 5 sec.
Maximale aanvraaggrootte (bijvoorbeeld opgeslagen procedure, CRUD) 2 MB
Maximale antwoordgrootte (bijvoorbeeld ge pagineerde query) 4 MB
Maximum aantal bewerkingen in een transactionele batch 100

Zodra een bewerking zoals een query de time-out van de uitvoering of de groottelimiet van de reactie heeft bereikt, retourneert deze een pagina met resultaten en een vervolg-token naar de client om de uitvoering te hervatten. Er is geen praktische limiet voor de duur dat één query kan worden uitgevoerd op pagina's/vervolgs.

Cosmos DB gebruikt HMAC voor autorisatie. U kunt een primaire sleutel of een resourcetoken gebruiken voor een fijner toegangsbeheer voor resources zoals containers, partitiesleutels of items. De volgende tabel bevat limieten voor autorisatietokens in Cosmos DB.

Resource Standaardlimiet
Maximale verlooptijd van primair token 15 min
Minimale verlooptijd van resource-token 10 min.
Maximale verlooptijd van resource-token Standaard 24 uur. U kunt het aantal verhogen door een ondersteuning voor Azure indienen
Maximale klokverschil voor tokenautorisatie 15 min

Cosmos DB ondersteunt de uitvoering van triggers tijdens schrijfingen. De service ondersteunt maximaal één pre-trigger en één na een trigger per schrijfbewerking.

Limieten voor aanvragen voor metagegevens

Azure Cosmos DB behoudt systeemmetagegevens voor elk account. Met deze metagegevens kunt u gratis verzamelingen, databases, andere Azure Cosmos DB resources en hun configuraties opsnoemen.

Resource Standaardlimiet
Maximumfrequentie voor het maken van verzamelingen per minuut 100
Maximum aantal database maken per minuut 100
Maximale updatesnelheid voor inrichten doorvoer per minuut 5
Maximale doorvoer die wordt ondersteund door een account voor metagegevensbewerkingen 240 RU/s

Limieten voor automatisch schalen van inrichtende doorvoer

Zie het artikel Autoscale (Automatisch schalen) en FAQ (Veelgestelde vragen) voor een gedetailleerde uitleg van de doorvoer- en opslaglimieten met automatisch schalen.

Resource Standaardlimiet
Maximum aantal RU/s waar het systeem naar kan schalen Tmax, de automatisch schalen van het maximum aantal RU/s dat is ingesteld door de gebruiker
Minimale RU/s waar het systeem naar kan schalen 0.1 * Tmax
Huidige RU/s waar het systeem naar wordt geschaald 0.1*Tmax <= T <= Tmax, op basis van gebruik
Minimaal factureerbare RU/s per uur 0.1 * Tmax

Facturering wordt per uur uitgevoerd, waarbij u wordt gefactureerd voor de hoogste RU/s waarop het systeem in het uur is geschaald, of , afhankelijk van wat hoger 0.1*Tmax is.
Minimum aantal RU/s voor automatisch schalen voor een container MAX(4000, highest max RU/s ever provisioned / 10, current storage in GB * 100) afgerond naar dichtstbijzijnde 1000 RU/s
Minimum aantal RU/s voor automatisch schalen voor een database MAX(4000, highest max RU/s ever provisioned / 10, current storage in GB * 100, 4000 + (MAX(Container count - 25, 0) * 1000)), afgerond op de dichtstbijzijnde 1000 RU/s.

Als uw database meer dan 25 containers heeft, verhoogt het systeem het minimale maximum aantal RU/s voor automatisch schalen met 1000 RU/s per extra container. Als u bijvoorbeeld 30 containers hebt, is de laagste maximale RU/s voor automatisch schalen 9000 RU/s (schaalt tussen 900 - 9000 RU/s).

SQL querylimieten instellen

Cosmos DB ondersteunt het uitvoeren van query's op items met SQL. De volgende tabel beschrijft beperkingen in query-instructies, bijvoorbeeld in termen van het aantal -component of de querylengte.

Resource Standaardlimiet
Maximale lengte van SQL query 256 kB
Maximum aantal JOIN's per query 5 *
Maximum aantal UDF's per query 10 *
Maximum aantal punten per veelhoek 4096
Maximum aantal opgenomen paden per container 500
Maximum aantal uitgesloten paden per container 500
Maximum aantal eigenschappen in een samengestelde index 8

*U kunt elk van deze querylimieten SQL verhogen door een Ondersteuning voor Azure maken.

Api-specifieke limieten voor MongoDB

Cosmos DB ondersteunt het MongoDB-wire-protocol voor toepassingen die zijn geschreven voor MongoDB. U vindt de ondersteunde opdrachten en protocolversies op Ondersteunde MongoDB-functies en syntaxis.

De volgende tabel bevat de limieten die specifiek zijn voor ondersteuning van MongoDB-functies. Andere servicelimieten die worden vermeld voor de api SQL (core) zijn ook van toepassing op de MongoDB-API.

Resource Standaardlimiet
Maximale mongoDB-querygeheugengrootte (deze beperking geldt alleen voor serverversie 3.2) 40 MB
Maximale uitvoeringstijd voor MongoDB-bewerkingen (voor serverversie 3.2) 15 seconden
Maximale uitvoeringstijd voor MongoDB-bewerkingen (voor serverversie 3.6 en 4.0) 60 seconden
Maximumniveau van nesten voor ingesloten objecten/matrices op indexdefinities 6
Time-out voor niet-actieve verbinding voor sluiting van verbinding aan serverzijde* 30 minuten

*Het is raadzaam dat clienttoepassingen de time-out voor inactieve verbindingen in de stuurprogramma-instellingen instellen op 2-3 minuten, omdat de standaard time-out voor Azure LoadBalancer 4 minuten is. Deze time-out zorgt ervoor dat niet-actieve verbindingen niet worden gesloten door een tussenliggende load balancer tussen de clientmachine en Azure Cosmos DB.

Gratis Cosmos DB proberen

De volgende tabel bevat de limieten voor de proefversie Azure Cosmos DB gratis proefversie.

Resource Standaardlimiet
Duur van de proefversie 30 dagen (er kan een nieuwe proefversie worden aangevraagd na de vervaldatum)
Na verloop van tijd worden de opgeslagen gegevens verwijderd.
Maximum aantal containers per abonnement (SQL, Gremlin, Table-API) 1
Maximum aantal containers per abonnement (MongoDB-API) 3
Maximale doorvoer per container 5000
Maximale doorvoer per database met gedeelde doorvoer 20.000
Maximale totale opslag per account 10 GB

Probeer Cosmos DB wereldwijde distributie alleen te ondersteunen in de regio's VS - centraal, Europa - noord azië - zuidoost. ondersteuning voor Azure-tickets kunnen niet worden gemaakt voor Probeer Azure Cosmos DB accounts. Er wordt echter ondersteuning geboden voor abonnees met bestaande ondersteuningsplannen.

Azure Cosmos DB accountlimieten voor de gratis laag instellen

De volgende tabel bevat de limieten voor Azure Cosmos DB gratis laag-accounts.

Resource Standaardlimiet
Aantal gratis laag-accounts per Azure-abonnement 1
Duur van korting voor gratis laag Levensduur van het account. Moet zich tijdens het maken van het account aanmaken.
Maximum aantal RU/s gratis 1000 RU/s
Maximale opslagruimte gratis 25 GB
Maximum aantal gedeelde doorvoerdatabases 5
Maximum aantal containers in een gedeelde doorvoerdatabase 25
In accounts met een gratis laag is de minimale RU/s voor een gedeelde doorvoerdatabase met maximaal 25 containers 400 RU/s.

Naast het bovenstaande gelden de limieten per account ook voor accounts in de gratis laag. Zie het artikel Gratis laag-account voor meer informatie.

Volgende stappen

Lees meer over Cosmos DB belangrijkste concepten van wereldwijde distributie en partitionering en inrichten van doorvoer.

Lees onze snelstartgidsen om snel aan de slag te gaan met Azure Cosmos DB: