Globális elosztott adatbázis beállítása az Azure Cosmos DB MongoDB-hez készült API-jával
A KÖVETKEZŐKRE VONATKOZIK: MongoDB
Ebben a cikkben bemutatjuk, hogyan használható a Azure Portal egy globális elosztott adatbázis beállítására, és hogyan csatlakozhat hozzá az Azure Cosmos DB MongoDB-hez készült API-jával.
Ez a cikk a következő feladatokat mutatja be:
- Globális terjesztés konfigurálása az Azure Portallal
- Globális disztribúció konfigurálása az Azure Cosmos DB MongoDB-hez készült API-jával
Globális adatbázis-régiók hozzáadása az Azure Portal használatával
Az Azure Cosmos DB világszerte minden Azure-régióban elérhető. Miután kiválasztotta az adatbázisfiók alapértelmezett konzisztenciaszintjét, egy vagy több régiót társíthat hozzá (a választott alapértelmezett konzisztenciaszinttől és a globális terjesztés szükségleteitől függően).
Az Azure Portalon a bal oldali sávon kattintson az Azure Cosmos DB lehetőségre.
Az Azure Cosmos DB oldalon válassza ki a módosítandó adatbázis-fiókot.
A fiók lapon kattintson az Adatok globális replikálása lehetőségre a menüben.
A térkép régióira, majd a Mentés gombra kattintva választhatja ki a hozzáadni vagy eltávolítani kívánt régiókat az Adatok globális replikálása lapon. A régiók hozzáadásának költsége van, további információkat az árképzést ismertető oldalon vagy a Globális adatterjesztés az Azure Cosmos DB-vel című cikkben talál.
Ha hozzáadta a második régiót, elérhetővé válik a Manuális feladatátvétel funkció a Portal Adatok globális replikálása oldalán. Ezzel a funkcióval tesztelhető a feladatátvételi folyamat vagy módosítható az elsődleges írási régió. Miután hozzáadta a harmadik régiót, ugyanazon az oldalon elérhetővé válik a Feladatátvételi prioritások funkció, így módosíthatja az olvasások feladatátvételi sorrendjét.
Globális adatbázis-régiók kiválasztása
Két vagy több régió konfigurálására két gyakori forgatókönyv áll rendelkezésre:
- Kis késleltetésű adathozzáférés biztosítása a végfelhasználóknak, legyenek bárhol a világon
- Regionális rugalmasság hozzáadása az üzletmenet-folytonosság és a vészhelyreállítás (BCDR) érdekében
Ha kis késleltetést szeretne biztosítani a végfelhasználók számára, javasolt, hogy az alkalmazást és az Azure Cosmos DB-t is abban a régióban való helyezze üzembe, amelyben az alkalmazások felhasználói találhatók.
A BCDR esetében ajánlott régiókat hozzáadni az Azure régiók közötti replikációja: Üzletmenet-folytonosság és vészhelyreállítás című cikkben ismertetett régiópárok alapján.
A területi beállítás ellenőrzése
Az Azure Cosmos DB MongoDB-hez készült API-jával egyszerűen ellenőrizheti a globális konfigurációt, ha futtatja az isMaster() parancsot a Mongo Shellből.
A Mongo parancskörnyezetben:
db.isMaster()
Példa eredmények:
{
"_t": "IsMasterResponse",
"ok": 1,
"ismaster": true,
"maxMessageSizeBytes": 4194304,
"maxWriteBatchSize": 1000,
"minWireVersion": 0,
"maxWireVersion": 2,
"tags": {
"region": "South India"
},
"hosts": [
"vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
"vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
"vishi-api-for-mongodb-southindia.documents.azure.com:10255"
],
"setName": "globaldb",
"setVersion": 1,
"primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
"me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
}
Csatlakozás egy előnyben részesített régióhoz
Az Azure Cosmos DB MongoDB-hez készült API-ja lehetővé teszi a gyűjtemény olvasási beállításainak megadását egy globálisan elosztott adatbázishoz. Az alacsony olvasási késés és a globálisan magas rendelkezésre állás esetében egyaránt azt javasoljuk, hogy a gyűjtemény olvasási beállítását a legközelebbi értékre konfigurálja. A legközelebbi olvasási beállítás úgy van konfigurálva, hogy a legközelebb eső régióból olvasson.
var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));
Az elsődleges olvasási/írási régióval és vészhelyreállítási (DR) forgatókönyvekhez másodlagos régióval rendelkező alkalmazások esetében javasoljuk, hogy a gyűjtemény olvasási beállításait az elsődleges előnyben részesített értékre állítsa. Az elsődlegesen előnyben részesített olvasási beállítás úgy van konfigurálva, hogy a másodlagos régióból olvasson, ha az elsődleges régió nem érhető el.
var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));
Végül pedig ha az olvasási régiókat manuálisan szeretné megadni, a régió címkét az olvasási beállításban adhatja meg.
var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));
Ezzel el is végezte az oktatóanyagot. Ha meg szeretné ismerni, hogyan kezelheti a globálisan replikált fiók konzisztenciáját, olvassa el a Konzisztenciaszintek az Azure Cosmos DB-ben című cikket. További információ a globális adatbázis-replikáció működéséről az Azure Cosmos DB szolgáltatásban: Globális adatterjesztés az Azure Cosmos DB-vel.
Következő lépések
Ebben az oktatóanyagban a következőket hajtotta végre:
- Globális terjesztés konfigurálása az Azure Portallal
- Globális disztribúció konfigurálása az Azure Cosmos DB MongoDB-hez készült API-jával
Továbbléphet a következő oktatóanyagra, amelyből megtudhatja, hogyan fejleszthet helyileg az Azure Cosmos DB helyi emulátorával.
Kapacitástervezést szeretne végezni az Azure Cosmos DB-be való migráláshoz? A kapacitástervezéshez használhatja a meglévő adatbázisfürt adatait.
- Ha csak annyit tud, hogy hány virtuális mag és kiszolgáló található a meglévő adatbázisfürtben, olvassa el a kérelemegységek becslését virtuális magok vagy vCPU-k használatával
- Ha ismeri az aktuális adatbázis számítási feladatainak tipikus kérési arányait, olvassa el a kérelemegységek becslését az Azure Cosmos DB kapacitástervezővel