Het aantal vCores of vCPUs in uw niet-lationele database converteren naar Azure Cosmos DB RU/s

VAN TOEPASSING OP: SQL API

VAN TOEPASSING OP: Azure Cosmos DB API voor MongoDB

In dit artikel wordt uitgelegd hoe u Azure Cosmos DB-aanvraageenheden (RU/s) kunt schatten wanneer u overweegt gegevens te migreren, maar alles wat u weet is het totale aantal vCore- of vCPU-aanvragen in uw bestaande databasereplicaset(s). Wanneer u een of meer replicasets migreert naar Azure Cosmos DB, wordt elke verzameling in die replicasets opgeslagen als een Azure Cosmos DB-verzameling die bestaat uit een scherfcluster met een 4x-replicatiefactor. Meer informatie over onze architectuur vindt u in deze handleiding voor partitionering en schaalbaarheid. Aanvraageenheden zijn de manier waarop doorvoercapaciteit wordt ingericht op een verzameling. u kunt de handleiding aanvraageenheden en de ru/s-inrichtingshandleiding lezen voor meer informatie. Wanneer u een verzameling migreert, bevat Azure Cosmos DB voldoende shards om uw inrichtende aanvraageenheden te dienen en uw gegevens op te slaan. Daarom is het schatten van RU/s voor verzamelingen een belangrijke stap in het analyseren van de schaal van uw geplande Azure Cosmos DB-gegevens estate vóór de migratie. Op basis van onze ervaring met duizenden klanten hebben we ontdekt dat deze formule ons helpt bij het bereiken van een ruwe schatting van de RU/s van vCores of vCPUs:

Provisioned RU/s = C*T/R

  • T: Totaal aantal vCores en/of vCPUs in uw bestaande databasegegevensdragende replicaset(s).
  • R: Replicatiefactor van uw bestaande gegevensdragende replicaset(s).
  • C: Aanbevolen inrichtings-RU/s per vCore of vCPU. Deze waarde is afgeleid van de architectuur van Azure Cosmos DB:
    • C = 600 RU/s/vCore voor Azure Cosmos DB SQL API
    • C = 1000 RU/s/vCore voor Azure Cosmos DB API voor MongoDB v4.0
    • C-schattingen voor De API van Cassandra, Gremlin API of andere API's zijn momenteel niet beschikbaar

Waarden voor C worden hierboven vermeld. T moet wordenbepaald door het aantal vCores of vCPUs in elke gegevensdragende replicaset van uw bestaande database te onderzoeken en het totaal op te sommen; als u T niet kunt schatten, kunt u overwegen om onze handleiding voor het schatten van RU/s te volgen met behulp van Azure Cosmos DB-capaciteitsplanner in plaats van deze handleiding. T mag geen vCores of vCPUs bevatten die zijn gekoppeld aan de routeringsserver of configuratiecluster van uw bestaande database, als deze onderdelen bevatten.

Voor Rwordt aangeraden de gemiddelde replicatiefactor van uw databasereplicasets aan te sluiten. als deze informatie niet beschikbaar is, is R=3 een goede vuistregel.

Azure Cosmos DB interop API's worden uitgevoerd op de SQL-API en implementeren hun eigen unieke architecturen. Azure Cosmos DB API voor MongoDB v4.0 heeft dus een andere C-waardedan Azure Cosmos DB SQL API.

Voorbeeld van werk: een schatting maken van de RU/s voor de migratie van een enkele replicaset

Migrate a replica set with 3 replicas of a four-core SKU to Azure Cosmos DB

Overweeg een enkele replicaset met een replicatiefactor van R=3 op basis van een SKU met vier cores. Vervolgens

  • T = 12 vCores
  • R = 3

Vervolgens worden de aanbevolen aanvraageenheden voor Azure Cosmos DB SQL API

Provisioned RU/s, SQL API = (600 RU/s/vCore) * (12 vCores) / (3) = 2,400 RU/s

En de aanbevolen aanvraageenheden voor Azure Cosmos DB API voor MongoDB zijn

Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (12 vCores) / (3) = 4,000 RU/s

Voorbeeld van werk: schatting van RU/s bij het migreren van een cluster met homogeen replicasets

Migrate a homogeneous sharded replica set with 3 shards, each with three replicas of a four-core SKU, to Azure Cosmos DB

Overweeg een scherf en gerepliceerd cluster met elk drie replicasets met een replicatiefactor drie, waarbij elke server een SKU met vier kernen is. Vervolgens

  • T = 36 vCores
  • R = 3

Vervolgens worden de aanbevolen aanvraageenheden voor Azure Cosmos DB SQL API

Provisioned RU/s, SQL API = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s

En de aanbevolen aanvraageenheden voor Azure Cosmos DB API voor MongoDB zijn

Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s

Voorbeeld van werk: schatting van RU/s bij het migreren van een cluster met heterogene replicasets

Migrate a heterogeneous sharded replica set with 3 shards, each with different numbers of replicas of a four-core SKU, to Azure Cosmos DB

Overweeg een scherf en gerepliceerd cluster dat bestaat uit drie replicasets, waarin elke server is gebaseerd op een SKU met vier kernen. De replicasets zijn 'heterogene' in de zin dat elk een andere replicatiefactor heeft: respectievelijk 3x, 1x en 5x. De aanbevolen methode is om de gemiddelde replicatiefactor te gebruiken bij het berekenen van aanvraageenheden. Vervolgens

  • T = 36 vCores
  • Ravg = (3+1+5)/3 = 3

Vervolgens worden de aanbevolen aanvraageenheden voor Azure Cosmos DB SQL API

Provisioned RU/s, SQL API = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s

En de aanbevolen aanvraageenheden voor Azure Cosmos DB API voor MongoDB zijn

Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s

Tips voor het verkrijgen van de meest nauwkeurige ru/s-schatting

Migreren vanuit een door de cloud beheerde database: Als u momenteel een in de cloud beheerde database gebruikt, lijken deze services vaak te zijn ingericht in eenheden met vCores of vCPUs (met andere woorden T),maar in feite wordt met het aantal kernen dat u inrichten de vCores/replica of vCPU/replicawaarde(T/R)ingesteld voor een R-knooppuntreplicaset; het werkelijke aantal kernen is R keer meer dan wat u expliciet hebt ingericht. Het is raadzaam om te bepalen of deze beschrijving van toepassing is op uw huidige in de cloud beheerde database en als dat het geval is, moet u het nominale aantal inrichtende vCores of vCPUs vermenigvuldigen met R om een nauwkeurige schatting van T te krijgen.

vCores vs vCPUs: In dit artikel behandelen we 'vCore' en 'vCPU' als synoniem, dus C heeft eenheden RU/s/vCore of RU/s/vCPU,zonder onderscheid. In de praktijk kan deze versimpeling in sommige situaties echter niet juist zijn. Deze termen kunnen verschillende betekenissen hebben. Als uw fysieke CPU's bijvoorbeeld hyperthreading ondersteunen, is het mogelijk dat 1 vCPU = 2 vCores of iets anders. Over het algemeen is de vCore-vCPU-relatie hardwareafhankelijk en wordt u aangeraden te onderzoeken wat de relatie is op uw bestaande clusterhardware en of de cluster compute is ingericht in termen van vCores of vCPUs. Als vCPU en vCore verschillende betekenissen hebben op uw hardware, wordt u aangeraden de bovenstaande schattingen van C te behandelen als eenheden RU/s/vCoreen zo nodig T van vCPU naar vCore te converteren met de conversiefactor die geschikt is voor uw hardware.

Overzicht

Voor het schatten van RU/s van vCores of vCPUs is het verzamelen van gegevens over het totaal aantal vCoresvCPUs en replicatiefactor uit uw bestaande databasereplicaset(s) vereist. Vervolgens kunt u bekende relaties tussen vcoresvCPUs en doorvoer gebruiken om Azure Cosmos DB-aanvraageenheden (RU/s) te schatten. Het vinden van deze schatting van de aanvraageenheid is een belangrijke stap in het anticiperen op de schaal van uw Azure Cosmos DB-gegevens estate na de migratie.

In de onderstaande tabel wordt de relatie tussen vCores en vCPUs voor Azure Cosmos DB SQL API en API voor MongoDB v4.0 samengevat:

vCores RU/s (SQL API)
(rep. factor=3)
RU/s (API voor MongoDB v4.0)
(rep. factor=3)
3 600 1000
6 1200 2000
12 2400 4000
24 4800 8000
48 9600 16000
96 19200 32000
192 38400 64000
384 76800 128000

Volgende stappen