Milyen lehetőségek vannak az adatok MongoDB-ből Azure DocumentDB-be való migrálására?

Ez a cikk segít megtervezni és végrehajtani a MongoDB-ből Azure DocumentDB-be történő migrálást. Ismerteti a rendelkezésre álló migrálási eszközöket, a migrálás kulcsfontosságú fázisait, valamint a kockázatok csökkentésére és az állásidő minimalizálására vonatkozó ajánlott eljárásokat.

Függetlenül attól, hogy helyszíni MongoDB-kiszolgálóról, felhőalapú virtuális gépről vagy felügyelt MongoDB-szolgáltatásról migrál, a cikkben szereplő áttelepítési lehetőségek, útmutatás és ajánlott eljárások érvényesek.

Főbb migrálási fázisok

A sikeres migrálás ezeket a különböző fázisokat követi. Minden fázis konkrét célokkal és sikerkritériumokkal rendelkezik.

1. Értékelés

Az automatikus vizsgálatot végezze el az forrás MongoDB-n az Azure DocumentDB Migration bővítmény használatával a nem támogatott funkciók, parancsok, lekérdezési szintaxis és indextípusok azonosítására. Az értékelés áttekintést nyújt a MongoDB verziójáról, licencéről, példánytípusáról, adatbázis- és gyűjteménymetrikáiról is. Ezekkel a megállapításokkal megtervezhet sémamódosításokat, és azonosíthatja a szükséges újrabontásokat a migrálás előtt.

Jótanács

Javasoljuk, hogy tekintse át részletesen a MongoDB-lekérdezési nyelv (MQL) támogatott funkcióit és szintaxisát , és a tényleges migrálás előtt végezzen el egy megvalósíthatósági igazolást.

2. Előkészítés

Elemezze az értékelési jelentést és mérje a TPS forrását (másodpercenkénti tranzakciók). Próbamigrálások futtatása reprezentatív adatokon a cél számítási szint, tárolási szint és szegmensszám meghatározásához. Végezzen teljesítményteszteket, hogy a célkonfiguráció megfeleljen a követelményeknek.

3. Pontosítás

Készítse elő a célgyűjteményeket az éles lekérdezési mintáknak megfelelő szegmenskulcsokkal és indexekkel. Ha több szegmenst használ, döntse el, hogyan osztja el a gyűjteményeket a szegmensek között a terhelés kiegyensúlyozása és a szegmensek közötti műveletek minimalizálása érdekében.

4. Migrálás

Az áttelepítési feladat futtatásával offline vagy online módban helyezheti át az adatokat:

  • Offline migrálás: Pillanatképet készít a forrásról az elején, és tömegesen átmásolja azt a célba. A pillanatkép létrehozása után a forráson hozzáadott, frissített vagy törölt adatok nem kerülnek másolásra. A szükséges állásidő attól függ, hogy mennyi ideig tart a tömeges másolás.
  • Online migrálás: Ugyanazt a tömeges másolást hajtja végre, mint az offline, de a változásstreamet is figyeli a folyamat során. A migrálás során végrehajtott módosítások másolódnak a célkörnyezetbe, így az alkalmazás állásideje minimális. Változásstreamet és megfelelő méretű oplogot igényel a forráson.

Jótanács

Online migrálás esetén győződjön meg arról, hogy a változásfolyam engedélyezve van, és az oplog megfelelően van méretezve a forrás MongoDB-n az áttelepítési időszak alatti összes módosítás rögzítéséhez.

Az elérhető eszközökről a Migrálási eszközök című témakörben olvashat.

5. Ellenőrzés

Ellenőrizze, hogy az összes adat másolása megtörtént-e, beleértve a legújabb frissítéseket is. Hasonlítsa össze a dokumentumszámokat, futtassa a mintaalapú ellenőrzést, és ellenőrizze, hogy az indexek és az adatstruktúrák megfelelnek-e a célra vonatkozó elvárásoknak. Az ellenőrzés ismétlődő és konzisztenssé tétele automatizált szkriptekkel.

6. Átállás

Helyezze át az olvasási forgalmat a célhoz, és ellenőrizze, hogy nincsenek-e funkcionális vagy teljesítményproblémák. Az olvasási ellenőrzés sikeres elvégzése után helyezze át az írási forgalmat a célhelyre. Figyelje meg szorosan az átállási ablakban az esetleges rendellenességeket.

Migrálási eszközök

A cikkben tárgyalt eszközök segítenek a MongoDB számítási feladatainak migrálásában az alábbi forrásokból:

  • MongoDB virtuális gép
  • MongoDB Atlas
  • AWS DocumentDB

Azure DocumentDB migrálási bővítmény

Migrálási feladatok létrehozása és kezelése a Visual StudioCode-ban az Azure DocumentDB Migration Extension (Nyilvános előzetes verzió) használatával – ez a megoldás az egyszerűségre, a biztonságra és a nulla állásidőre lett tervezve.

Ez az eszköz világos, részletes útmutatást nyújt a számítási feladatok szolgáltatáskimaradások nélküli migrálásához. Ön megteheti:

  • Adott adatbázisok és gyűjtemények kiválasztása a migráláshoz
  • Az összes lépés végrehajtása a jól ismert VS Code-felületen
  • Biztonságos kapcsolat biztosítása a folyamat során
  • A bővítmény használata nulla költséggel jár

A Azure DocumentDB migrálási bővítményével egyszerűsítheti a migrálási folyamatot az irányítás és a biztonság fenntartása mellett – mindezt további infrastruktúra vagy összetettség nélkül.

Web alkalmazás eszköz (Online)

Egyszerűsítheti az Azure DocumentDB-be való migrálást a MongoMigrationwebBasedUtility eszközzel, amely a hatékonyság, a megbízhatóság és a könnyű használat érdekében lett kialakítva. A tárház részletes, lépésről-lépésre haladó útmutatást biztosít a munkaterhelések áttelepítéséhez. Ez az eszköz zökkenőmentes felhasználói élményt nyújt mind az online, mind az offline adatmigráláshoz. A folyamat felhasználóbarát, és csak a forrás- és céladatokat kell megadni. Lehetővé teszi a MongoDB-gyűjtemények egyszerű migrálását, miközben fenntartja az irányítást, a biztonságot és a méretezhetőséget, így kihasználhatja az Azure DocumentDB teljes potenciálját.

A legfontosabb funkciók a következők:

  • Támogatja a privát üzembe helyezést a virtuális hálózaton a fokozott biztonság érdekében
  • Automatikus folytatási képességek kapcsolatvesztés vagy átmeneti hibák esetén
  • Felhasználóbarát felület
  • Hozzáférés a C# forráskódhoz a GitHub

Az eszköz támogatja a rugalmas üzembe helyezési lehetőségeket, és függetlenül működik más Azure-erőforrásoktól való függőség nélkül. Emellett skálázható teljesítményt is kínál testreszabható Azure Web App-díjszabási csomagokkal.

Natív MongoDB-eszközök (offline)

Az olyan natív MongoDB-eszközöket is használhatja, mint a mongodump/mongorestore, a mongoexport/mongoimport az adathalmazok offline migrálásához (élő módosítások replikálása nélkül) az Azure DocumentDB-ajánlatba.

Scenario MongoDB natív eszköz
Adatbázisadatok részhalmazának áthelyezése (JSON/CSV-alapú) mongoexport/mongoimport
Teljes adatbázis áthelyezése (BSON-alapú) mongodump/mongorestore
  • 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 DocumentDB-be).
    • A JSON és a CSV nem kompakt formátum; többlet hálózati díjakat vonhat maga után, mivel a Mongoimport adatokat küld az Azure DocumentDB-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 DocumentDB-be való beszúrásakor.
    • A mongodump a meglévő adatokat BSON-fájlként exportálja.
    • mongorestore importálja az BSON-állománykiöntést az Azure DocumentDB-be.

Megjegyzés:

A MongoDB natív eszközei csak olyan gyorsan tudják az adatokat áthelyezni, amilyen gyorsan azt a gazdagép hardvere lehetővé teszi.

Migrációs legjobb gyakorlatok

Ezekkel az ajánlott eljárásokkal csökkentheti a kockázatokat, pontosabban becsülheti meg a kapacitást, javíthatja a migrálási sebességet, és biztonságosan hajthatja végre az átállást.

Hibák csökkentése

  • Használjon URL-kódolású jelszavakat a kapcsolati sztringekben. Speciális karakterek, például @a # , :és megszakíthatják az elemzést, ha nincsenek kódolva. Az URL-kódolás segít elkerülni a kapcsolati hibákat az értékelés és a migrálási futtatások során.

  • A migrálás előtt futtasson le egy előzetes migrációs felmérést. Az értékelés segít azonosítani a nem támogatott funkciókat, a kompatibilitási hiányosságokat és a lehetséges blokkolókat. A migrálás előtti megállapítások megoldása az átállás során végzett átdolgozás csökkentése érdekében.

  • Végezzen próbát a migrálás és az átállás során az éles rendszer előtt. Futtasson egy vagy több próbamigrálást egy nem gyártási környezetben. A gyakorlat javítja az időzítés pontosságát, a csapat felkészültségét és megbízhatóságát az éles átállás során.

Infrastruktúra pontos méretezése

  • Próbamigrálás futtatása kis méretű, de reprezentatív adatkészleten. A próbaverzióval rögzítheti a reális átviteli sebességet, a késést és az erőforrás-felhasználást. A reprezentatív minta jobb becslést ad, mint a szintetikus tesztadatok.

  • A próbaeredmények extrapolálása a számítási szint, a tárolási szint és a szegmensek számának becsléséhez. A megfigyelt próbametrikák használatával a teljes adathalmaz-kötet alapján kivetítheti a végleges méretezési igényeket. Nézze felül a becslést, ha a gyakorlati adatok eloszlása eltér a mintától.

  • Használjon reprezentatív dokumentumszámot, méretet és struktúrát éles környezethez hasonló beállításokkal. Az éles indexelési és horizontális skálázási beállítások egyeztetése a próbaverzió során, hogy elkerülje a költségek vagy a migrálás időtartamának alábecsülését. A nem gyártási beállítások félrevezető eredményeket eredményezhetnek.

  • A cél tárolókapacitásának becslése a kísérleti eredményekből a forrás és a cél méretek egyenlőségének feltételezése helyett. A forrás- és céltárolási lábnyomok az indexdefiníciók és az adatelrendezés különbségei miatt eltérhetnek. A próbaeredményekkel biztonságos pufferrel tervezhet tárolót.

Migrálási sebesség optimalizálása

  • Ha lehetséges, migrálás ugyanazon a régión belül. A forrás és a cél ugyanabban a régióban való megtartása csökkenti a hálózati késést, és javítja az adatátviteli teljesítményt. Emellett csökkentheti a régiók közötti adatátvitel költségeit is.

  • Skálázás felfelé a migrálás során, majd skálázás lefelé az átállás után. Például ideiglenesen skálázhatja a célfürtöt M200-ra a migráció áteresztőképességének növelése érdekében. A migrálás után vertikálisan leskálázhatja a támogatott tartomány megfelelő szintjére az állandó állapotú számítási feladatokhoz.

  • A gyorsabb írás érdekében válassza ki a magasabb IOPS-t tartalmazó lemezeket. A magasabb IOPS jelentősen javíthatja az írási terheléses migrálási teljesítményt. Mivel a lemez mérete általában később nem skálázható le, a tervezés során körültekintően válassza ki a lemezméretet.

Körültekintően tervezze meg az átállást, mert nincs visszaállítás

  • Tervezze meg az állásidőt egy alacsony forgalmú időszakban. A szükséges állásidő attól függ, hogy mennyi ideig tart az ellenőrzési lépések a migrálás után. A kis forgalmú ablakok csökkentik az üzleti hatásokat.

  • Állítsák le az összes írást a forrásra közvetlenül az átállás előtt. Ez a lépés megakadályozza az utolsó pillanatbani eltérést a forrás és a cél között. Ellenőrizze, hogy az írási tevékenység teljesen szüneteltetve van-e az átállás befejezése előtt.

  • Az írási műveletek áthelyezése előtt ellenőrizze az áttelepített adatokat. Hasonlítsa össze a dokumentumszámokat, majd futtasson véletlenszerű mintadokumentum-összehasonlítást (például kivonatalapú ellenőrzéseket). Ha lehetséges, használjon szkriptet az ellenőrzés megismételhetővé tétele érdekében.

  • Frissítse az alkalmazás csatlakozási karakterláncait, és tesztelje a célrendszeren. Futtassa a funkcionális és a teljesítmény-ellenőrzést a célként megjelölt olvasásokon, és forgalomtesztelést végezzen az éles írás engedélyezése előtt. Ellenőrizze, hogy a kritikus útvonalak a várt módon működnek-e.

  • Csak akkor helyezze át az írási forgalmat, ha az ellenőrzés sikerrel jár. A termelési írások csak akkor történnek meg, ha a tesztek eredményei sikeresek és következetesek. Ha az alkalmazásarchitektúra támogatja, használjon szakaszos bevezetést.

Koordinálás a csapatok között a zökkenőmentes migrálás érdekében

  • Szerezze meg az összes érintett csapat támogatását: alkalmazás, adatok, infrastruktúra, biztonság, hálózat és menedzsment csapatok. Az elvárások és a felelősségek korai igazítása. A közös tulajdon csökkenti a végrehajtás során felmerülő félreértéseket és késéseket.

  • Tervezési és próbafuttatások használatával fejleszthet csapatbizalmat, és finomíthatja az eljárásokat. A zökkenőmentes migráláshoz nincsenek rövidítések. A próbamenetek kisebb kockázatú környezetben felmerülhetnek a problémák, és lehetőséget biztosítanak a csapatoknak a gyakorlásra.

  • Az átállást kritikusnak és időérzékenynek kell tekinteni. Az átállás pontos koordinációt és egyértelmű kommunikációt igényel. Jelöljön ki döntéshozókat, és hozzon létre eszkalációs útvonalakat a kezdés előtt.

  • Tudja, hogy ki hajtja végre az egyes lépéseket, mikor történjen meg, és hogyan minimalizálhatja az állásidőt. Feladatokat rendelhet hozzá, ütemterveket hozhat létre, és igazodhat a sikerességi feltételekhez. Dokumentálja az élesítési útmutatót, és ossza meg az összes résztvevővel.

  • Egyeztessen az összes érdekelt féllel, amikor az átállás több munkaterhelés egyidejű frissítését igényli. Ütemezze az átállást egy karbantartási időszak alatt, amely minden csapat számára működik. Kerülje a pénteki éjszakákat vagy időszakokat a nagyobb üzleti események közelében.

  • Ne rohanjon, és ne hagyja ki a kellő gondossági lépéseket – nincs visszaállítás. Az alapos ellenőrzés és a gondos végrehajtás megakadályozza a költséges hibákat. Fogadja el, hogy az átállás időt vesz igénybe; a sebességalapú gyors megoldások kockázatot jelentenek.