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:
- Aan de slag met de SQL-API van Azure Cosmos DB
- Aan de slag met de API van Azure Cosmos DB voor MongoDB
- Aan de slag met de Cassandra-API van Azure Cosmos DB
- Aan de slag met de Gremlin-API van Azure Cosmos DB
- Aan de slag met de Table-API van Azure Cosmos DB
- Probeert u capaciteitsplanning uit te Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als u alleen het aantal vcores en servers in uw bestaande databasecluster weet, leest u over het schatten van aanvraageenheden met vCores of vCCPUs
- Als u typische aanvraagsnelheden voor uw huidige databaseworkload kent, leest u over het schatten van aanvraageenheden met behulp Azure Cosmos DB capacity planner