Delen via


Het aantal vCores of vCPU's in uw niet-relationele database converteren naar Azure Cosmos DB RU/s

VAN TOEPASSING OP: NoSQL

VAN TOEPASSING OP: MongoDB

In dit artikel wordt uitgelegd hoe u azure Cosmos DB-aanvraageenheden (RU/s) kunt schatten wanneer u gegevensmigratie overweegt, maar alles wat u weet is het totale aantal vCores of vCPU's in uw bestaande databasereplicaset(s). Wanneer u een of meer replicasets migreert naar Azure Cosmos DB, wordt elke verzameling in deze replicasets opgeslagen als een Azure Cosmos DB-verzameling die bestaat uit een shardcluster met een replicatiefactor van 4x. Meer informatie over onze architectuur vindt u in deze handleiding voor partitioneren en schalen. Aanvraageenheden zijn hoe doorvoercapaciteit wordt ingericht voor een verzameling; u kunt de handleiding voor aanvraageenheden en de inrichtingshandleiding voor RU/s lezen voor meer informatie. Wanneer u een verzameling migreert, richt Azure Cosmos DB voldoende shards in om uw ingerichte aanvraageenheden te verwerken en uw gegevens op te slaan. Daarom is het schatten van RU/s voor verzamelingen een belangrijke stap bij het verkennen van de schaal van uw geplande Azure Cosmos DB-gegevensomgeving vóór de migratie. Op basis van onze ervaring met duizenden klanten hebben we deze formule gevonden om ons te helpen bij het bereiken van een ruwe schatting van RU/s vanaf vCores of vCPU's:

Provisioned RU/s = C*T/R

  • T: Totaal aantal vCores en/of vCPU's in uw bestaande databasegegevenslagerreplicaset(s).
  • R: Replicatiefactor van uw bestaande replicasets met gegevens.
  • C: Aanbevolen ingerichte 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 for NoSQL
    • C = 1000 RU/s/vCore* voor Azure Cosmos DB voor MongoDB v4.0
    • C-schattingen voor API voor Cassandra, Gremlin of andere API's zijn momenteel niet beschikbaar

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

Voor R raden we u aan om de gemiddelde replicatiefactor van uw databasereplicasets aan te sluiten. Als deze informatie niet beschikbaar is, is R=3 een goede vuistregel.

Azure Cosmos DB-api's voor interop worden uitgevoerd boven op de API voor NoSQL en implementeren hun eigen unieke architecturen; Azure Cosmos DB voor MongoDB v4.0 heeft dus een andere C-waarde dan Azure Cosmos DB-API voor NoSQL.

Gewerkt voorbeeld: RU/s schatten voor migratie van één replicaset

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

Overweeg één replicaset met een replicatiefactor van R=3 op basis van een server-SKU met vier kernen. Dan

  • T = 12 vCores
  • R = 3

Vervolgens zijn de aanbevolen aanvraageenheden voor De Azure Cosmos DB-API voor NoSQL

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

En de aanbevolen aanvraageenheden voor Azure Cosmos DB voor MongoDB zijn

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

Voorbeeld: RU/s schatten bij het migreren van een cluster met homogene 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 shard- en gerepliceerd cluster dat bestaat uit drie replicasets die elk een replicatiefactor drie bevatten, waarbij elke server een SKU met vier kernen is. Dan

  • T = 36 vCores
  • R = 3

Vervolgens zijn de aanbevolen aanvraageenheden voor De Azure Cosmos DB-API voor NoSQL

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

En de aanbevolen aanvraageenheden voor Azure Cosmos DB voor MongoDB zijn

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

Voorbeeld: RU/s schatten 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 shard- en gerepliceerd cluster met 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. Dan

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

Vervolgens zijn de aanbevolen aanvraageenheden voor De Azure Cosmos DB-API voor NoSQL

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

En de aanbevolen aanvraageenheden voor Azure Cosmos DB 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 in de cloud beheerde database: als u momenteel een in de cloud beheerde database gebruikt, lijken deze services vaak te worden ingericht in eenheden van vCores of vCPU's (met andere woorden, T), maar in feite stelt het aantal kernen dat u inricht de vCores/replica of vCPU/replicawaarde (T/R) in voor een replicaset met R-knooppunten. Het werkelijke aantal kernen is R keer meer dan wat u expliciet hebt ingericht. We raden u aan om te bepalen of deze beschrijving van toepassing is op uw huidige, in de cloud beheerde database. Als dit het nominaal aantal ingerichte vCores of vCPU's is, moet u het nominale aantal ingerichte vCores of vCPU's vermenigvuldigen met R om een nauwkeurige schatting van T te krijgen.

vCores versus vCPU's: In dit artikel behandelen we 'vCore' en 'vCPU' als synoniem, dus C heeft eenheden van RU/s/vCore of RU/s/vCPU, zonder onderscheid. In sommige gevallen kan deze vereenvoudiging echter niet nauwkeurig zijn. Deze termen kunnen verschillende betekenissen hebben; Als uw fysieke CPU's bijvoorbeeld hyperthreading ondersteunen, is het mogelijk dat 2 vCPU = 1 vCore w/HT of iets anders. Over het algemeen is de vCore/vCPU-relatie afhankelijk van hardware en wordt u aangeraden te onderzoeken wat de relatie is op uw bestaande clusterhardware en of uw cluster-rekenkracht is ingericht in termen van vCores of vCPU's. Als vCPU en vCore verschillende betekenissen hebben op uw hardware, raden we u aan de bovenstaande schattingen van C te behandelen als eenheden van RU/s/vCore en, indien nodig, T van vCPU naar vCore converteren met behulp van de conversiefactor die geschikt is voor uw hardware.

Samenvatting

Voor het schatten van RU/s van vCores of vCPU's is het verzamelen van informatie over het totale aantal vCores/vCPU's en de replicatiefactor van uw bestaande databasereplicaset(s) vereist. Vervolgens kunt u bekende relaties tussen vcores/vCPU's en doorvoer gebruiken om azure Cosmos DB-aanvraageenheden (RU/s) te schatten. Het vinden van deze schatting van aanvraageenheden is een belangrijke stap in het anticiperen op de schaal van uw Azure Cosmos DB-gegevensomgeving na de migratie.

De onderstaande tabel bevat een overzicht van de relatie tussen vCores en vCPU's voor Azure Cosmos DB-API voor NoSQL en API voor MongoDB v4.0:

vCores RU/s (API voor NoSQL)
(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