A nem társadatbázis virtuális magjainak vagy vCPU-jainak számának konvertálása Azure Cosmos DB RU/s-ra
A KÖVETKEZŐRE VONATKOZIK: NoSQL
A KÖVETKEZŐKRE VONATKOZIK: MongoDB
Ez a cikk bemutatja, hogyan becsülheti meg az Azure Cosmos DB kérelemegységeit (RU/s) az adatmigrálás tervezésekor, de mindössze annyit tud, hogy a meglévő adatbázisreplika-készlet(ek) teljes virtuális mag- vagy vCPU-száma. Amikor egy vagy több replikakészletet migrál az Azure Cosmos DB-be, az ezekben a replikákban tárolt gyűjtemények egy 4x replikációs tényezővel rendelkező, szegmenses fürtből álló Azure Cosmos DB-gyűjteményként lesznek tárolva. Az architektúráról ebben a particionálási és skálázási útmutatóban olvashat bővebben. A kérelemegységek az átviteli sebesség kapacitásának kiépítése egy gyűjteményen; további információért olvassa el a kérelemegységek útmutatóját és a ru/s kiépítési útmutatót . Gyűjtemény migrálásakor az Azure Cosmos DB elegendő szegmenst helyez üzembe a kiépített kérelemegységek kiszolgálásához és az adatok tárolásához. Ezért a gyűjtemények ru/s-jainak becslése fontos lépés a tervezett Azure Cosmos DB-adattulajdon skálájának a migrálás előtt történő hatókörének meghatározásában. Több ezer ügyfél tapasztalatai alapján úgy találtuk, hogy ez a képlet segít a virtuális magokból vagy vCPU-kból származó hozzávetőleges kiindulási ru/s becslésben:
Provisioned RU/s = C*T/R
- T: A meglévő adatbázis adathordozó replikakészletében lévő virtuális magok és/vagy vCPU-k teljes száma.
- R: A meglévő adathordozó replikakészlet(ek) replikációs tényezője.
- C: Ajánlott kiosztott RU/s virtuális magonként vagy vCPU-nként. Ez az érték az Azure Cosmos DB architektúrájából származik:
- C = 600 RU/s/vCore* az Azure Cosmos DB for NoSQL-hez
- C = 1000 RU/s/vCore* a MongoDB-hez készült Azure Cosmos DB 4.0-s verzióhoz
- A Cassandra, Gremlin vagy más API-k API-jának C-becslései jelenleg nem érhetők el
A C értékeket fent adták meg. A T értékét úgy kell meghatározni, hogy megvizsgálja a virtuális magok vagy vCPU-k számát a meglévő adatbázis minden adathordozó replikakészletében, és összegzi a teljes értéket. Ha nem tudja megbecsülni a T-t , fontolja meg az útmutatónk követését a ru/s becsléséhez az Azure Cosmos DB kapacitástervezővel az útmutató helyett. A T nem tartalmazhat virtuális magokat vagy virtuális processzorokat a meglévő adatbázis útválasztási kiszolgálójához vagy konfigurációs fürtjéhez, ha az összetevőket tartalmazza.
Az R esetében azt javasoljuk, hogy dugja be az adatbázisreplika-készletek átlagos replikációs tényezőjébe; ha ez az információ nem érhető el, akkor az R=3 jó hüvelykujjszabály.
Az Azure Cosmos DB interop API-k a NoSQL API-n futnak, és implementálják saját egyedi architektúráikat; Így a MongoDB 4.0-s verzióhoz készült Azure Cosmos DB más C-értékkel rendelkezik, mint a NoSQL-hez készült Azure Cosmos DB API.
Bevált példa: ru/s becslése egy replikakészlet migrálásához
Fontolja meg egyetlen replikakészletet, amely egy négymagos kiszolgálói termékváltozaton alapuló R=3 replikációs tényezővel rendelkezik. Akkor
- T = 12 virtuális mag
- R = 3
Ezután a NoSQL-hez készült Azure Cosmos DB API javasolt kérelemegységei a következők:
Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (12 vCores) / (3) = 2,400 RU/s
A MongoDB-hez készült Azure Cosmos DB javasolt kérelemegységei pedig a következők:
Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (12 vCores) / (3) = 4,000 RU/s
Példa: ru/s becslése homogén replikakészletek fürtjének migrálásakor
Fontolja meg a három replikakészletből álló, három replikációs tényezőből álló, horizontálisan tagolt és replikált fürtöt, ahol minden kiszolgáló négymagos termékváltozat. Akkor
- T = 36 virtuális mag
- R = 3
Ezután a NoSQL-hez készült Azure Cosmos DB API javasolt kérelemegységei a következők:
Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s
A MongoDB-hez készült Azure Cosmos DB javasolt kérelemegységei pedig a következők:
Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s
Bevált példa: ru/s becslése heterogén replikakészletek fürtjének migrálásakor
Vegyünk egy három replikakészletből álló szegmenses és replikált fürtöt, amelyben minden kiszolgáló egy négymagos termékváltozaton alapul. A replikakészletek "heterogének" abban az értelemben, hogy mindegyik más replikációs tényezővel rendelkezik: 3x, 1x és 5x. Az ajánlott módszer az átlagos replikációs tényező használata a kérelemegységek kiszámításakor. Akkor
- T = 36 virtuális mag
- Ravg = (3+1+5)/3 = 3
Ezután a NoSQL-hez készült Azure Cosmos DB API javasolt kérelemegységei a következők:
Provisioned RU/s, API for NoSQL = (600 RU/s/vCore) * (36 vCores) / (3) = 7,200 RU/s
A MongoDB-hez készült Azure Cosmos DB javasolt kérelemegységei pedig a következők:
Provisioned RU/s, API for MongoDB = (1,000 RU/s/vCore) * (36 vCores) / (3) = 12,000 RU/s
Tippek a legpontosabb ru/s becslés beszerzéséhez
Migrálás felhő által felügyelt adatbázisból: Ha jelenleg felhőalapú adatbázist használ, ezek a szolgáltatások gyakran virtuális magok vagy vCPU-k egységében vannak kiépítve (más szóval T), de valójában a kiépített magok száma beállítja a virtuális magok/replikák vagy a vCPU/replika értékét (T/R) egy R-csomópont replikakészletéhez; a magok valódi száma R-szer nagyobb, mint amit explicit módon kiépített. Javasoljuk annak meghatározását, hogy ez a leírás érvényes-e az aktuális felhőalapú adatbázisra, és ha igen, meg kell szoroznia a kiosztott virtuális magok vagy vCPU-k névleges számát R-vel a T pontos becsléséhez.
Virtuális magok és vCPU-k: Ebben a cikkben a "vCore" és a "vCPU" szinonimaként kezeljük, így a C ru/s/vCore vagy RU/s/vCPU egységeket is tartalmaznak, különbség nélkül. A gyakorlatban azonban előfordulhat, hogy ez az egyszerűsítés bizonyos helyzetekben nem pontos. Ezek a kifejezések különböző jelentéssel bírhatnak; Ha például a fizikai PROCESSZORok támogatják a hipertreadingot, lehetséges, hogy 2 vCPU = 1 virtuális mag w/HT vagy valami más. A virtuális mag/vCPU-kapcsolata általában hardverfüggő, ezért azt javasoljuk, hogy vizsgálja meg, hogy mi a kapcsolat a meglévő fürthardveren, és hogy a fürt számítása virtuális magok vagy vCPU-k alapján van-e kiépítve. Ha a vCPU és a virtuális mag eltérő jelentéssel rendelkezik a hardveren, javasoljuk, hogy a fenti C-becsléseket ru/s/vCore egységekkel kezelje, és szükség esetén a hardvernek megfelelő konverziós tényezővel konvertálja a T-t vCPU-ról virtuális magra.
Összegzés
A virtuális magokból vagy vCPU-kból származó ru/s becsléséhez a virtuális magok teljes virtuális magjaival és replikációs/tényezőivel kapcsolatos információkat kell összegyűjtenie a meglévő adatbázisreplika-készlet(ek)ből. Ezután az Azure Cosmos DB kérelemegységeinek (RU/s) becsléséhez használhatja a virtuális magok virtuális processzorai/ és az átviteli sebesség közötti ismert kapcsolatokat. Ennek a kérelemegység-becslésnek a megkeresése fontos lépés lesz az Azure Cosmos DB-adattulajdon méretének előrejelzésében a migrálás után.
Az alábbi táblázat összefoglalja a virtuális magok és a vCU-k közötti kapcsolatot a NoSQL-hez készült Azure Cosmos DB API és a MongoDB 4.0-s verzióhoz készült API között:
Virtuális magok | RU/s (API for NoSQL) (rep. factor=3) |
RU/s (API a MongoDB 4.0-s verzióhoz) (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 |
Következő lépések
- Az Azure Cosmos DB díjszabásának ismertetése
- Megtudhatja, hogyan tervezheti meg és kezelheti az Azure Cosmos DB költségeit
- Tervezze meg a MongoDB-hez készült Azure Cosmos DB-be való migrálást. Ez a dokumentum a tervezés befejezése után használható különböző migrálási eszközökre mutató hivatkozásokat tartalmaz.