Megosztás a következőn keresztül:


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ó.

A migrálás lépéseinek diagramja.

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.

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ó

Képernyőkép a MongoDB SSR funkcióról.

Ha pedig le van tiltva, javasoljuk, hogy engedélyezze az alábbi módon

Képernyőkép a MongoDB SSR engedélyezéséről.

Válassza ki a megfelelő MongoDB natív eszközt

A legjobb natív MongoDB-eszköz kiválasztásának diagramja.

  • 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:

  1. Nyissa meg az Azure Portalt

  2. Navigálás a MongoDB-hez készült Azure Cosmos DB-fiókhoz

  3. A bal oldali navigációs sávon válassza a Kapcsolati sztring panelt, és az alábbihoz hasonló kijelzőnek kell megjelennie:

    Képernyőkép az Azure Cosmos DB hitelesítő adatairól.

    • 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

  1. 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

  1. 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:

    Képernyőkép a mongoexport-hívásról.

  2. Ugyanazt a terminált használhatja az Azure Cosmos DB-be való importáláshoz edx.json . Ha Linux rendszerű gépen fut mongoimport , írja be a

    mongoimport --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.

  3. 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:

    Képernyőkép a mongoimport-hívásról.

  4. 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"}:

    Képernyőkép az Azure Cosmos DB-adatok ellenőrzéséről.

mongodump/mongorestore

  1. 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úra edx-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:

    Képernyőkép a mongodump-hívásról.

  2. Ugyanezzel a terminálal visszaállíthatja a tartalmakat edx-dump az Azure Cosmos DB-be. Ha Linux rendszerű gépen fut mongorestore , írja be a

    mongorestore --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.

  3. 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:

    Képernyőkép a mongorestore-hívásról.

  4. 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:

    Képernyőkép az Azure Cosmos DB mongorestore-adatainak ellenőrzéséről.

Á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

Következő lépések