Oktatóanyag: MongoDB offline migrálása az Azure Cosmos DB MongoDB-hez készült API-jába natív MongoDB-eszközökkel
A KÖVETKEZŐKRE VONATKOZIK: MongoDB
Fontos
A migrálási lépések végrehajtása előtt olvassa el ezt a teljes útmutatót.
Ez a MongoDB migrálási útmutató a MongoDB-migrálásról szóló sorozat része. A kritikus MongoDB-migrálási lépések a migrálás előtti, a migrálás utáni és a migrálás utáni lépések, ahogyan az alább látható.
Az adatmigrálás áttekintése natív MongoDB-eszközökkel
A MongoDB natív eszközei használatával offline (egyszeri) migrálást végezhet az adatbázisokból a MongoDB helyszíni vagy felhőalapú példányából az Azure Cosmos DB MongoDB API-jába.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Válassza ki a megfelelő MongoDB natív eszközt a használati esethez
- A migrálás futtatása.
- Az áttelepítés monitorozása.
- Ellenőrizze, hogy a migrálás sikeres volt-e.
Ebben az oktatóanyagban egy Azure-beli virtuális gépen üzemeltetett MongoDB-adatkészletet migrál az Azure Cosmos DB MongoDB-hez készült API-jába natív MongoDB-eszközökkel. A MongoDB natív eszközei bináris fájlok, amelyek megkönnyítik az adatok kezelését egy meglévő MongoDB-példányon. Mivel az Azure Cosmos DB egy MongoDB-hez készült API-t tesz elérhetővé, a MongoDB natív eszközei képesek adatokat beszúrni az Azure Cosmos DB-be. A dokumentum középpontjában az adatok MongoDB-példányból való migrálása áll a mongoexport/mongoimport vagy a mongodump/mongorestore használatával. Mivel a natív eszközök kapcsolati sztring használatával csatlakoznak a MongoDB-hez, az eszközöket bárhol futtathatja, azonban javasoljuk, hogy a tűzfalproblémák elkerülése érdekében futtassa ezeket az eszközöket ugyanazon a hálózaton belül, mint a MongoDB-példány.
A MongoDB natív eszközei csak olyan gyorsan helyezhetik át az adatokat, amilyen gyorsan a gazdagép hardvere lehetővé teszi; a natív eszközök lehetnek a legegyszerűbb megoldások olyan kis adathalmazokhoz, ahol a teljes migrálási idő nem jelent problémát. A MongoDB Spark-összekötő, az Azure Data Migration Service (DMS) vagy az Azure Data Factory (ADF) jobb alternatívát jelenthet, ha méretezhető migrálási folyamatra van szüksége.
Ha még nincs beállítva MongoDB-forrás, olvassa el a MongoDB telepítése és konfigurálása Windows rendszerű virtuális gépen az Azure-ban című cikket.
Előfeltételek
Az oktatóanyag elvégzéséhez a következőkre lesz szüksége:
- Végezze el az áttelepítés előtti lépéseket, például az átviteli sebesség becslését, a partíciókulcs kiválasztását és az indexelési szabályzatot.
- Hozzon létre egy Azure Cosmos DB-fiókot MongoDB-fiókhoz.
- Bejelentkezés a MongoDB-példányba
- Töltse le és telepítse a MongoDB natív eszközeit erről a hivatkozásról.
- Győződjön meg arról, hogy a MongoDB natív eszközeinek verziója megfelel a meglévő MongoDB-példánynak.
- Ha a MongoDB-példány más verziójú, mint a MongoDB-hez készült Azure Cosmos DB, telepítse a MongoDB natív eszközverzióit, és használja a MongoDB és az Azure Cosmos DB for MongoDB megfelelő eszközverzióját.
- Adjon hozzá egy engedélyekkel rendelkező
readWrite
felhasználót, kivéve, ha már létezik ilyen. Az oktatóanyag későbbi részében adja meg ezt a felhasználónevet/jelszót a mongoexport és a mongodump eszközöknek.
- Töltse le és telepítse a MongoDB natív eszközeit erről a hivatkozásról.
Az Azure Cosmos DB kiszolgálóoldali újrapróbálkozásainak konfigurálása
A MongoDB-ből az Azure Cosmos DB-be migráló ügyfelek kihasználják az erőforrás-szabályozási képességek előnyeit, amelyek garantálják a kiosztott ru/s átviteli sebesség teljes kihasználását. Az Azure Cosmos DB a migrálás során szabályozhat egy adott kérést, ha ez a kérés meghaladja a tároló által kiosztott RU/s értéket; ezt a kérést újra meg kell próbálkozni. A migrálási eszköz és az Azure Cosmos DB közötti hálózati ugrás során eltelt oda-vissza idő hatással van a kérés teljes válaszidejére; továbbá előfordulhat, hogy a MongoDB natív eszközei nem kezelik az újrapróbálkozásokat. Az Azure Cosmos DB kiszolgálóoldali újrapróbálkozási funkciója lehetővé teszi a szolgáltatás számára a szabályozási hibakódok elfogását és az újrapróbálkozást sokkal alacsonyabb menetidővel, jelentősen javítva a kérések válaszidejét. A MongoDB natív eszközei szempontjából az újrapróbálkozások kezelése minimálisra csökken, ami pozitív hatással lesz a migrálás során tapasztaltakra.
A kiszolgálóoldali újrapróbálkozás képessége az Azure Cosmos DB portál Szolgáltatások paneljén található
Ha pedig le van tiltva, javasoljuk, hogy engedélyezze az alábbi módon
Válassza ki a megfelelő MongoDB natív eszközt
- A mongoexport/mongoimport a mongoDB-adatbázis egy részhalmazának migrálására szolgáló legjobb migrálási eszközpár.
- a mongoexport exportálja a meglévő adatokat egy emberi olvasásra alkalmas JSON- vagy CSV-fájlba. A mongoexport egy argumentumot használ, amely megadja a meglévő exportálandó adatok részhalmazát.
- a mongoimport megnyit egy JSON- vagy CSV-fájlt, és beszúrja a tartalmat a céladatbázis-példányba (ebben az esetben az Azure Cosmos DB-be).
- Vegye figyelembe, hogy a JSON és a CSV nem kompakt formátum; többlet hálózati díjak merülhetnek fel, mivel a Mongoimport adatokat küld az Azure Cosmos DB-nek.
- A mongodump/mongorestore a migrálási eszközök legjobb párja a teljes MongoDB-adatbázis áttelepítéséhez. A kompakt BSON formátum hatékonyabbá teszi a hálózati erőforrások használatát az adatok Azure Cosmos DB-be való beszúrása során.
- A mongodump a meglévő adatokat BSON-fájlként exportálja.
- a mongorestore importálja a BSON-fájlképet az Azure Cosmos DB-be.
- Ha egyszerűen csak egy kis JSON-fájllal rendelkezik, amelyet a MongoDB-hez készült Azure Cosmos DB-be szeretne importálni, a mongoimport eszköz gyors megoldás az adatok betöltésére.
Az Azure Cosmos DB for MongoDB hitelesítő adatainak gyűjtése
A MongoDB-hez készült Azure Cosmos DB kompatibilis hozzáférési hitelesítő adatokat biztosít, amelyeket a MongoDB natív eszközei használhatnak. Az adatok MongoDB-hez készült Azure Cosmos DB-be való migrálásához rendelkeznie kell ezekhez a hozzáférési hitelesítő adatokhoz. A hitelesítő adatok megkeresése:
Nyissa meg az Azure Portalt
Navigálás a MongoDB-hez készült Azure Cosmos DB-fiókhoz
A bal oldali navigációs sávon válassza a Kapcsolati sztring panelt, és az alábbihoz hasonló kijelzőnek kell megjelennie:
- HOST – az Azure Cosmos DB-végpont MongoDB-állomásnévként működik
- PORT – amikor a MongoDB natív eszközei csatlakoznak az Azure Cosmos DB-hez, ezt a portot explicit módon kell megadnia
- FELHASZNÁLÓNÉV – az Azure Cosmos DB végponttartománynév előtagja MongoDB-felhasználónévként működik
- PASSWORD – az Azure Cosmos DB főkulcsa MongoDB-jelszóként működik
- Jegyezze fel továbbá az SSL-mezőt , amely –
true
a MongoDB natív eszközének engedélyeznie kell az SSL-t, amikor adatokat ír az Azure Cosmos DB-be
A migrálás végrehajtása
- Válassza ki, hogy mely adatbázis(ok) és gyűjtemény(ek)et szeretné migrálni. Ebben a példában az edx adatbázis lekérdezésgyűjteményét migráljuk a MongoDB-ből az Azure Cosmos DB-be.
A szakasz többi része végigvezeti az előző szakaszban kiválasztott eszközpáron.
mongoexport/mongoimport
Ha a forrás MongoDB-példányból szeretné exportálni az adatokat, nyisson meg egy terminált a MongoDB-példány gépén. Ha linuxos gépről van szó, írja be a
mongoexport --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection query --out edx.json
Az ablakokon a végrehajtható fájl a következő lesz
mongoexport.exe
: . A gazdagépet, PORTot, FELHASZNÁLÓNEVET és JELSZÓT a meglévő MongoDB-adatbázispéldány tulajdonságai alapján kell kitölteni.Dönthet úgy is, hogy csak a MongoDB-adatkészlet egy részét exportálja. Ennek egyik módja egy további szűrőargumentum hozzáadása:
mongoexport --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection query --out edx.json --query '{"field1":"value1"}'
Csak a szűrőnek
{"field1":"value1"}
megfelelő dokumentumok lesznek exportálva.A hívás végrehajtása után látnia kell, hogy létrejön egy
edx.json
fájl:Ugyanazt a terminált használhatja az Azure Cosmos DB-be való importáláshoz
edx.json
. Ha Linux rendszerű gépen futmongoimport
, írja be amongoimport --host HOST:PORT -u USERNAME -p PASSWORD --db edx --collection importedQuery --ssl --type json --writeConcern="{w:0}" --file edx.json
Windows rendszeren a végrehajtható fájl a következő lesz
mongoimport.exe
: . A gazdagépet, portot, felhasználónevet és jelszót a korábban gyűjtött Azure Cosmos DB-hitelesítő adatok alapján kell kitölteni.Monitorozza a mongoimport terminálkimenetét. Látnia kell, hogy az áttelepítési állapot frissítéseit tartalmazó szövegsorokat nyomtat a terminálra:
Végül vizsgálja meg az Azure Cosmos DB-t annak ellenőrzéséhez, hogy a migrálás sikeres volt-e. Nyissa meg az Azure Cosmos DB portált, és lépjen az Adatkezelőbe. Látnia kell (1) egy importáltQuery-gyűjteményt tartalmazó edx-adatbázist, és (2) ha csak egy adathalmazt exportált, az importáltQuery csak az adatok kívánt részhalmazának megfelelő dokumentumokat tartalmazhat. Az alábbi példában csak egy dokumentum felelt meg a szűrőnek
{"field1":"value1"}
:
mongodump/mongorestore
A MongoDB-példány BSON-adatképének létrehozásához nyisson meg egy terminált a MongoDB-példány gépén. Ha linuxos gépről van szó, írja be a
mongodump --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection query --ssl --out edx-dump
A gazdagépet, PORTot, FELHASZNÁLÓNEVET és JELSZÓT a meglévő MongoDB-adatbázispéldány tulajdonságai alapján kell kitölteni. Látnia kell, hogy létrejön egy
edx-dump
könyvtár, és hogy a címtárstruktúraedx-dump
reprodukálja a forrás MongoDB-példány erőforráshierarchiáját (adatbázis- és gyűjteménystruktúráját). Minden gyűjteményt egy BSON-fájl jelöl:Ugyanezzel a terminálal visszaállíthatja a tartalmakat
edx-dump
az Azure Cosmos DB-be. Ha Linux rendszerű gépen futmongorestore
, írja be amongorestore --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection importedQuery --writeConcern="{w:0}" --ssl edx-dump/edx/query.bson
Windows rendszeren a végrehajtható fájl a következő lesz
mongorestore.exe
: . A gazdagépet, portot, felhasználónevet és jelszót a korábban gyűjtött Azure Cosmos DB-hitelesítő adatok alapján kell kitölteni.Monitorozza a mongorestore terminálkimenetét. Látnia kell, hogy a program sorokat nyomtat a terminál frissítésére az áttelepítési állapoton:
Végül vizsgálja meg az Azure Cosmos DB-t annak ellenőrzéséhez, hogy a migrálás sikeres volt-e. Nyissa meg az Azure Cosmos DB portált, és lépjen az Adatkezelőbe. Látnia kell (1) egy importáltQuery-gyűjteményt tartalmazó edx-adatbázist, és (2) az importáltQuerynek tartalmaznia kell a forrásgyűjtemény teljes adatkészletét:
Áttelepítés utáni optimalizálás
Miután migrálta a MongoDB-adatbázisban tárolt adatokat az Azure Cosmos DB MongoDB API-jára, csatlakozhat az Azure Cosmos DB-hez, és kezelheti az adatokat. A migrálás utáni optimalizálási lépéseket is elvégezheti, például optimalizálhatja az indexelési szabályzatot, frissítheti az alapértelmezett konzisztenciaszintet, vagy konfigurálhatja az Azure Cosmos DB-fiók globális terjesztését. További információkért tekintse meg a migrálás utáni optimalizálási cikket.
További erőforrások
- Az Azure Cosmos DB szolgáltatásinformációi
- A MongoDB adatbázis-eszközeinek dokumentációja
- Kapacitástervezést szeretne végezni az Azure Cosmos DB-be való migráláshoz?
- 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 feladataira vonatkozó tipikus kérési arányokat, olvassa el a kérelemegységek becslését az Azure Cosmos DB kapacitástervezővel
Következő lépések
- Tekintse át a Migrálási útmutató további forgatókönyveit a Microsoft Database migrálási útmutatójában.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: