Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Kapcsolódó tartalom
- Adatok áttelepítése Azure DocumentDB-be natív MongoDB-eszközökkel.
- Adatok áttelepítése Azure DocumentDB-be a MongoMigrationwebBasedUtility használatával.