Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln hjälper dig att planera och köra en migrering från MongoDB till Azure DocumentDB. Den omfattar tillgängliga migreringsverktyg, viktiga faser i en migrering och metodtips för att minska risken och minimera stilleståndstiden.
Oavsett om du migrerar från en lokal MongoDB-server, en molnbaserad virtuell dator eller en hanterad MongoDB-tjänst gäller migreringsalternativ, vägledning och metodtips i den här artikeln.
Viktiga migreringsfaser
En lyckad migrering följer dessa distinkta faser. Varje fas har specifika mål och framgångskriterier.
1. Utvärdera
Kör en automatisk genomsökning av din mongoDB-källa med hjälp av Azure DocumentDB-migreringstillägget för att identifiera funktioner, kommandon, frågesyntax och indextyper som inte stöds. Utvärderingen ger också en översikt över MongoDB-version, licens, instanstyp och databas- och samlingsmått. Använd dessa resultat för att planera schemaändringar och identifiera eventuell nödvändig refaktorisering före migreringen.
Tips/Råd
Vi rekommenderar att du granskar funktionerna och syntaxen för MongoDB Query Language (MQL) som stöds i detalj och utför ett konceptbevis före den faktiska migreringen.
2. Förbered
Analysera utvärderingsrapporten och mät källans TPS (transaktioner per sekund). Utför testmigreringar på representativ data för att fastställa beräkningsnivå, lagringsnivå och antal skärvor. Utför prestandatester för att säkerställa att målkonfigurationen uppfyller dina krav.
3. Förfina
Förbered målsamlingar med lämpliga shardnycklar och index som matchar dina produktionsfrågemönster. Om du använder flera shards bestämmer du hur du distribuerar samlingar mellan shards för att balansera belastning och minimera åtgärder mellan fragment.
4. Migrera
Kör migreringsjobbet för att flytta data i offline- eller onlineläge:
- Offlinemigrering: Tar en ögonblicksbild av källan i början och masskopierar den till målet. All data som har lagts till, uppdaterats eller tagits bort på källan efter att ögonblicksbilden tagits kopieras inte. Den nödvändiga nedtiden beror på hur lång tid masskopieringen tar.
- Onlinemigrering: Utför samma masskopiering som offline, men övervakar även ändringsströmmen under hela processen. Ändringar som görs under migreringen replikeras till målet, så programavbrottstiden som krävs är minimal. Kräver ändringsström och en tillräckligt stor oplog på källan.
Tips/Råd
För onlinemigreringar kontrollerar du att ändringsströmmen är aktiverad och att oplog har rätt storlek på din mongoDB-källa för att samla in alla ändringar under migreringsfönstret.
Tillgängliga verktyg finns i Migreringsverktyg.
5. Verifiera
Kontrollera att alla data har kopierats, inklusive de senaste uppdateringarna. Jämför antalet dokument, kör exempelbaserad validering och kontrollera att index och datastrukturer matchar förväntningarna på målet. Använd automatiserade skript för att göra verifieringen repeterbar och konsekvent.
6. Övergång
Flytta lästrafik till målet och kontrollera att det inte finns några funktions- eller prestandaproblem. När läsverifieringen har slutförts flyttar du skrivtrafik till målet. Övervaka noga under övergångsfönstret efter eventuella avvikelser.
Migreringsverktyg
De verktyg som beskrivs i den här artikeln hjälper dig att migrera dina MongoDB-arbetsbelastningar från följande källor:
- Virtuell MongoDB-dator
- MongoDB Atlas
- AWS DocumentDB
Azure DocumentDB-migreringstillägg
Skapa och hantera dina migreringsjobb i Visual Studio Code med Azure DocumentDB Migration Extension (offentlig förhandsversion) – en lösning som är utformad för enkelhet, säkerhet och noll stilleståndstid.
Det här verktyget innehåller tydlig, stegvis vägledning som hjälper dig att migrera arbetsbelastningar utan avbrott i tjänsten. Du kan:
- Välj specifika databaser och samlingar för migrering
- Utför alla steg i det välbekanta VS Code-gränssnittet
- Se till att anslutningen är säker under hela processen
- Få noll kostnad för att använda tillägget
Med Azure DocumentDB Migration Extension kan du effektivisera migreringsresan och samtidigt upprätthålla kontroll och säkerhet – allt utan ytterligare infrastruktur eller komplexitet.
Verktyg för webapp (online)
Effektivisera migreringen till Azure DocumentDB med MongoMigrationwebBasedUtility ett verktyg som är utformat för effektivitet, tillförlitlighet och användarvänlighet. Lagringsplatsen innehåller detaljerade stegvisa instruktioner för migrering av dina arbetsbelastningar. Det här verktyget ger en smidig upplevelse för både online- och offline-datamigreringar. Processen är användarvänlig och kräver endast att käll- och målinformation tillhandahålls. Det gör att du enkelt kan migrera dina MongoDB-samlingar samtidigt som du behåller kontroll, säkerhet och skalbarhet, vilket låser upp hela potentialen i Azure DocumentDB.
Viktiga funktioner är:
- Stöder privat distribution i ditt virtuella nätverk för förbättrad säkerhet
- Funktioner för automatisk återupptagning om det finns anslutningsförluster eller tillfälliga fel
- Användarvänligt gränssnitt
- Åtkomst till C#-källkod på GitHub
Verktyget stöder flexibla distributionsalternativ och fungerar oberoende utan beroenden för andra Azure resurser. Dessutom erbjuder den skalbar prestanda med anpassningsbara prissättningsplaner för Azure Web App.
Interna MongoDB-verktyg (offline)
Du kan också använda de inbyggda MongoDB-verktygen, till exempel mongodump/mongorestore, mongoexport/mongoimport för att migrera datauppsättningar offline (utan att replikera liveändringar) till Azure DocumentDB-erbjudandet.
| Scenario | Ursprungligt MongoDB-verktyg |
|---|---|
| Flytta delmängd av databasdata (JSON/CSV-baserad) | mongoexport/mongoimport |
| Flytta hela databasen (BSON-baserad) | mongodump/mongorestore |
-
mongoexport/mongoimport är det bästa migreringsverktygen för migrering av en delmängd av MongoDB-databasen.
- mongoexport exporterar dina befintliga data till en JSON- eller CSV-fil som kan läsas av människor. mongoexport tar ett argument som anger delmängden av dina befintliga data som ska exporteras.
- mongoimport öppnar en JSON- eller CSV-fil och infogar innehållet i måldatabasinstansen (Azure DocumentDB i det här fallet.).
- JSON och CSV är inte ett kompakt format. du kan ådra dig extra nätverksavgifter när mongoimport skickar data till Azure DocumentDB.
-
mongodump/mongorestore är det bästa migreringsverktygen för migrering av hela MongoDB-databasen. Det kompakta BSON-formatet gör det mer effektivt att använda nätverksresurser när data infogas i Azure DocumentDB.
- mongodump exporterar dina befintliga data som en BSON-fil.
- mongorestore importerar din BSON-fildump till Azure DocumentDB.
Anmärkning
De inbyggda MongoDB-verktygen kan bara flytta data så snabbt som värdmaskinvaran tillåter.
Metodtips för migrering
Använd dessa bästa praxis för att minska risken, uppskatta kapaciteten mer exakt, förbättra migreringshastigheten och genomföra övergången säkert.
Minska fel
Använd URL-kodade lösenord i anslutningssträngar. Specialtecken som
@,#och:kan bryta parsningen när de inte är kodade. URL-kodning hjälper till att undvika anslutningsfel under utvärderings- och migreringskörningar.Kör en premigreringsutvärdering före migreringen. Utvärdering hjälper dig att identifiera funktioner som inte stöds, kompatibilitetsluckor och potentiella blockerare tidigt. Lös fynden före migreringen för att minska omarbetet under övergången.
Öva migrering och övergång före produktion. Kör en eller flera repetitionsmigreringar i en icke-produktionsmiljö. Övningen förbättrar tidsprecisionen, teamberedskapen och konfidensen under produktionsredundansen.
Dimensionera infrastrukturen noggrant
Kör en utvärderingsmigrering på en liten men representativ datauppsättning. Använd utvärderingsversionen för att samla in realistiskt dataflöde, svarstid och resursförbrukning. Ett representativt urval ger bättre uppskattningar än syntetiska testdata.
Extrapolera utvärderingsresultat för att uppskatta beräkningsnivå, lagringsnivå och antal shards. Använd observerade utvärderingsmått för att beräkna slutliga storleksbehov baserat på din fullständiga datamängdsvolym. Gå tillbaka till uppskattningen om din distribution av produktionsdata skiljer sig från exemplet.
Använd representativt antal dokument, storlek och struktur med produktionsliknande inställningar. Matcha inställningarna för produktionsindexering och horisontell partitionering under utvärderingsversionen för att undvika underskattning av kostnad eller migreringstid. Icke-produktionsinställningar kan ge missvisande resultat.
Beräkna mållagringen från utvärderingsresultaten i stället för att anta att käll- och målstorlekarna är lika. Käll- och mållagringens storlek kan variera på grund av skillnader i indexdefinitioner och datalayout. Använd utvärderingsresultat för att planera lagring med en säker buffert.
Optimera migreringshastigheten
Migrera inom samma region när det är möjligt. Att behålla källan och målet i samma region minskar nätverksfördröjningen och förbättrar dataöverföringens prestanda. Det kan också minska kostnaderna för dataöverföring mellan regioner.
Skala upp under migreringen och skala sedan ned efter övergången. Du kan till exempel tillfälligt skala målklustret till M200 för att öka migreringsflödet. Efter migreringen skalar du ned till en lämplig nivå i det intervall som stöds för arbetsbelastningar med stabilt tillstånd.
Välj diskar med högre IOPS för snabbare skrivningar. Högre IOPS kan avsevärt förbättra skrivintensiva migreringsprestanda. Eftersom diskstorlek vanligtvis inte kan skalas ned senare väljer du diskstorlek noggrant under planeringen.
Planera övergången noggrant eftersom det inte finns någon möjlighet till återgång.
Planera för stilleståndstid under ett fönster med låg trafik. Vilken stilleståndstid som krävs beror på hur lång tid valideringsstegen tar efter migreringen. Ett fönster med låg trafik minskar påverkan på verksamheten.
Stoppa alla skrivningar till källan precis innan övergången. Det här steget förhindrar avvikelser i sista minuten mellan källa och mål. Bekräfta att all skrivaktivitet har pausats helt innan du slutför övergången.
Verifiera migrerade data innan du flyttar skrivningar. Jämför antalet dokument och kör sedan dokumentjämförelse med slumpmässigt exempel (till exempel hash-baserade kontroller). Använd ett skript när det är möjligt för att göra verifieringen repeterbar.
Uppdatera applikationens anslutningssträngar och testa på målet. Kör funktions- och prestandaverifiering mot målläsningar och testtrafik innan du aktiverar produktionsskrivningar. Bekräfta att kritiska flöden fungerar som förväntat.
Flytta skrivtrafik först när valideringen har slutförts. Flytta produktionsskrivningar till målet först när testresultaten är lyckade och konsekventa. Använd en stegvis distribution om programarkitekturen stöder den.
Samordna mellan team för sömlös migrering
Säkra acceptans från alla intressenter: app-, data-, infrastruktur-, säkerhets-, nätverks- och ledningsteam. Anpassa förväntningar och ansvar tidigt. Delat ägande minskar missförstånd och fördröjningar under genomförandet.
Använd planerings- och utvärderingskörningar för att skapa förtroende och förfina procedurer för teamet. Det finns inga genvägar till en smidig migrering. Utvärderingsversionen kör ytproblem i en miljö med lägre risk och ger team övning.
Behandla övergång som kritisk och tidskänslig. Övergång kräver exakt samordning och tydlig kommunikation. Utse beslutsfattare och upprätta eskaleringsvägar innan det börjar.
Vet vem som ska utföra varje steg, när det ska ske och hur du minimerar stilleståndstiden. Tilldela ansvarsområden, upprätta tidslinjer och anpassa efter framgångskriterier. Dokumentera övergångsprocedurhandboken och dela den med alla deltagare.
Samordna med alla intressenter när övergången kräver att flera arbetsbelastningar uppdateras samtidigt. Schemalägg övergången under en underhållsperiod som passar alla team. Undvik fredagskvällar eller perioder nära stora affärsevenemang.
Stressa inte eller hoppa över steg för due diligence – det finns ingen väg tillbaka. Noggrann validering och noggrant utförande förhindrar kostsamma misstag. Acceptera att övergång tar tid; snabba genvägar skapar risk.
Relaterat innehåll
- Migrera data till Azure DocumentDB med hjälp av interna MongoDB-verktyg.
- Migrera data till Azure DocumentDB med hjälp av MongoMigrationwebBasedUtility.