Kurz: Offline migrace MongoDB do rozhraní API služby Azure Cosmos DB pro MongoDB pomocí nativních nástrojů MongoDB
PLATÍ PRO: MongoDB
Důležité
Než provedete kroky migrace, přečtěte si prosím celou příručku.
Tento průvodce migrací MongoDB je součástí série o migraci MongoDB. Důležité kroky migrace MongoDB jsou před migrací, migrací a po migraci, jak je znázorněno níže.
Přehled migrace dat pomocí nativních nástrojů MongoDB
Nativní nástroje MongoDB můžete použít k provedení offline (jednorázové) migrace databází z místní nebo cloudové instance MongoDB do rozhraní API služby Azure Cosmos DB pro MongoDB.
V tomto kurzu se naučíte:
- Volba vhodného nativního nástroje MongoDB pro váš případ použití
- Spuštění migrace
- Monitorujte migraci.
- Ověřte, že migrace proběhla úspěšně.
V tomto kurzu provedete migraci datové sady v MongoDB hostované na virtuálním počítači Azure do rozhraní API služby Azure Cosmos DB pro MongoDB pomocí nativních nástrojů MongoDB. Nativní nástroje MongoDB jsou sada binárních souborů, které usnadňují manipulaci s daty u existující instance MongoDB. Vzhledem k tomu, že Azure Cosmos DB zveřejňuje rozhraní API pro MongoDB, můžou nativní nástroje MongoDB vkládat data do služby Azure Cosmos DB. Tento dokument se zaměřuje na migraci dat z instance MongoDB pomocí mongoexport/mongoimport nebo mongodump/mongorestore. Vzhledem k tomu, že se nativní nástroje připojují k MongoDB pomocí připojovací řetězec, můžete tyto nástroje spouštět kdekoli, ale doporučujeme tyto nástroje spouštět ve stejné síti jako instance MongoDB, abyste se vyhnuli problémům s bránou firewall.
Nativní nástroje MongoDB můžou přesouvat data pouze tak rychle, jak umožňuje hostitelský hardware; nativní nástroje můžou být nejjednodušším řešením pro malé datové sady, kde se celkový čas migrace netýká. Konektor MongoDB Spark, Azure Data Migration Service (DMS) nebo Azure Data Factory (ADF) můžou být lepší alternativy, pokud potřebujete škálovatelný kanál migrace.
Pokud ještě nemáte nastavený zdroj MongoDB, přečtěte si článek Instalace a konfigurace MongoDB na virtuálním počítači s Windows v Azure.
Požadavky
Pro absolvování tohoto kurzu je potřeba provést následující:
- Proveďte kroky před migrací , jako je odhad propustnosti, výběr klíče oddílu a zásady indexování.
- Vytvořte účet Služby Azure Cosmos DB pro MongoDB.
- Přihlášení k instanci MongoDB
- Z tohoto odkazu si stáhněte a nainstalujte nativní nástroje MongoDB.
- Ujistěte se, že vaše nativní verze nástrojů MongoDB odpovídá vaší stávající instanci MongoDB.
- Pokud má vaše instance MongoDB jinou verzi než Azure Cosmos DB pro MongoDB, nainstalujte nativní verze nástrojů MongoDB a použijte odpovídající verzi nástroje pro MongoDB a Azure Cosmos DB pro MongoDB.
- Přidejte uživatele s oprávněními
readWrite
, pokud ještě neexistuje. Později v tomto kurzu zadejte toto uživatelské jméno a heslo k nástrojům mongoexport a mongodump .
- Z tohoto odkazu si stáhněte a nainstalujte nativní nástroje MongoDB.
Konfigurace opakování na straně serveru služby Azure Cosmos DB
Zákazníci, kteří migrují z MongoDB na Azure Cosmos DB, využívají výhod možností zásad správného řízení prostředků, které zaručují možnost plně využívat zřízené RU/s propustnosti. Azure Cosmos DB může v průběhu migrace omezovat daný požadavek, pokud tento požadavek překročí zřízené RU/s kontejneru. tento požadavek je potřeba opakovat. Doba odezvy zahrnutá do segmentu směrování sítě mezi nástrojem pro migraci a službou Azure Cosmos DB ovlivňuje celkovou dobu odezvy tohoto požadavku; Nativní nástroje MongoDB navíc nemusí zpracovávat opakování. Funkce opakování na straně serveru služby Azure Cosmos DB umožňuje službě zachytit kódy chyb omezování a opakovat s mnohem nižší dobou odezvy, což výrazně zlepšuje dobu odezvy požadavků. Z hlediska nativních nástrojů MongoDB je potřeba zpracovávat opakování minimalizovat, což bude mít pozitivní dopad na vaše zkušenosti během migrace.
Funkci opakování na straně serveru najdete v okně Funkce na portálu Azure Cosmos DB.
A pokud je zakázaná, doporučujeme ji povolit, jak je znázorněno níže.
Volba správného nativního nástroje MongoDB
- Mongoexport/mongoimport je nejlepší pár nástrojů pro migraci podmnožinu databáze MongoDB.
- Mongoexport exportuje existující data do souboru JSON nebo CSV, který je čitelný pro člověka. Mongoexport přebírá argument určující podmnožinu existujících dat k exportu.
- Mongoimport otevře soubor JSON nebo CSV a vloží obsah do cílové instance databáze (v tomto případě Azure Cosmos DB).
- Všimněte si, že JSON a CSV nejsou kompaktní formáty; při odesílání dat do služby Azure Cosmos DB se můžou účtovat nadbytečné poplatky za síť.
- Mongodump/mongorestore je nejlepší pár nástrojů pro migraci celé databáze MongoDB. Kompaktní formát BSON zajistí efektivnější využití síťových prostředků při vkládání dat do azure Cosmos DB.
- Mongodump exportuje existující data jako soubor BSON.
- Mongorestore naimportuje výpis souboru BSON do služby Azure Cosmos DB.
- Kromě toho – pokud máte jenom malý soubor JSON, který chcete importovat do Služby Azure Cosmos DB pro MongoDB, je nástroj mongoimport rychlým řešením pro příjem dat.
Shromáždění přihlašovacích údajů služby Azure Cosmos DB pro MongoDB
Azure Cosmos DB pro MongoDB poskytuje kompatibilní přihlašovací údaje pro přístup, které můžou využívat nativní nástroje MongoDB. Abyste mohli migrovat data do Služby Azure Cosmos DB for MongoDB, budete muset mít tyto přihlašovací údaje pro přístup k dispozici. Pokud chcete najít tyto přihlašovací údaje:
Otevřete Azure Portal.
Přejděte ke svému účtu Služby Azure Cosmos DB pro MongoDB.
V levém navigačním panelu vyberte okno Připojovací řetězec a měli byste vidět zobrazení podobné následujícímu:
- HOST – koncový bod služby Azure Cosmos DB funguje jako název hostitele MongoDB.
- PORT – když se nativní nástroje MongoDB připojují ke službě Azure Cosmos DB, musíte tento port explicitně zadat.
- UŽIVATELSKÉ JMÉNO – předpona názvu domény koncového bodu služby Azure Cosmos DB funguje jako uživatelské jméno MongoDB.
- PASSWORD – hlavní klíč služby Azure Cosmos DB funguje jako heslo MongoDB.
- Všimněte si také pole SSL, které je
true
– nativní nástroj MongoDB musí při zápisu dat do služby Azure Cosmos DB povolit protokol SSL.
Provedení migrace
- Vyberte, které databáze a kolekce chcete migrovat. V tomto příkladu migrujeme kolekci dotazů v databázi edx z MongoDB do Azure Cosmos DB.
Zbytek této části vás provede pomocí dvojice nástrojů, které jste vybrali v předchozí části.
mongoexport/mongoimport
Pokud chcete exportovat data ze zdrojové instance MongoDB, otevřete terminál na počítači instance MongoDB. Pokud se jedná o počítač s Linuxem, zadejte
mongoexport --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection query --out edx.json
Ve Windows bude
mongoexport.exe
spustitelný soubor . HOSTITEL, PORT, UŽIVATELSKÉ JMÉNO a HESLO by se měly vyplnit na základě vlastností vaší stávající instance databáze MongoDB.Můžete se také rozhodnout exportovat pouze podmnožinu datové sady MongoDB. Jedním ze způsobů, jak to udělat, je přidání dalšího argumentu filtru:
mongoexport --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection query --out edx.json --query '{"field1":"value1"}'
Exportují se jenom dokumenty, které odpovídají filtru
{"field1":"value1"}
.Po spuštění volání byste měli vidět, že se vytvoří
edx.json
soubor:Stejný terminál můžete použít k importu
edx.json
do služby Azure Cosmos DB. Pokud používátemongoimport
počítač s Linuxem, zadejtemongoimport --host HOST:PORT -u USERNAME -p PASSWORD --db edx --collection importedQuery --ssl --type json --writeConcern="{w:0}" --file edx.json
Ve Windows bude
mongoimport.exe
spustitelný soubor . HOSTITEL, PORT, UŽIVATELSKÉ JMÉNO a HESLO by se měly vyplnit na základě přihlašovacích údajů služby Azure Cosmos DB, které jste shromáždili dříve.Monitorujte výstup terminálu z mongoimportu. Měli byste vidět, že v terminálu vytiskne řádky textu obsahující aktualizace stavu migrace:
Nakonec prozkoumejte službu Azure Cosmos DB a ověřte , že migrace proběhla úspěšně. Otevřete portál Azure Cosmos DB a přejděte do Průzkumníka dat. Měli byste vidět (1), že byla vytvořena databáze edx s importovanou kolekcíQuery a (2) pokud jste exportovali pouze podmnožinu dat, importOvanýQuery by měl obsahovat pouze dokumenty odpovídající požadované podmnožině dat. V následujícím příkladu se filtr
{"field1":"value1"}
shoduje jenom s jedním dokumentem:
Mongodump/mongorestore
Pokud chcete vytvořit výpis dat BSON instance MongoDB, otevřete terminál na počítači instance MongoDB. Pokud se jedná o počítač s Linuxem, zadejte
mongodump --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection query --ssl --out edx-dump
HOSTITEL, PORT, UŽIVATELSKÉ JMÉNO a HESLO by se měly vyplnit na základě vlastností vaší stávající instance databáze MongoDB. Měli byste vidět, že
edx-dump
se vytvoří adresář a že adresářová strukturaedx-dump
reprodukuje hierarchii prostředků (strukturu databáze a kolekce) vaší zdrojové instance MongoDB. Každá kolekce je reprezentována souborem BSON:K obnovení obsahu
edx-dump
do služby Azure Cosmos DB můžete použít stejný terminál. Pokud používátemongorestore
počítač s Linuxem, zadejtemongorestore --host HOST:PORT --authenticationDatabase admin -u USERNAME -p PASSWORD --db edx --collection importedQuery --writeConcern="{w:0}" --ssl edx-dump/edx/query.bson
Ve Windows bude
mongorestore.exe
spustitelný soubor . HOSTITEL, PORT, UŽIVATELSKÉ JMÉNO a HESLO by se měly vyplnit na základě přihlašovacích údajů služby Azure Cosmos DB, které jste shromáždili dříve.Monitorujte výstup terminálu z mongorestore. Měli byste vidět, že tiskne řádky do terminálu v stavu migrace:
Nakonec prozkoumejte službu Azure Cosmos DB a ověřte , že migrace proběhla úspěšně. Otevřete portál Azure Cosmos DB a přejděte do Průzkumníka dat. Měli byste vidět (1), že byla vytvořena databáze edx s importovanou kolekcíQuery a (2) importovanýQuery by měl obsahovat celou datovou sadu ze zdrojové kolekce:
Optimalizace po migraci
Po migraci dat uložených v databázi MongoDB do rozhraní API služby Azure Cosmos DB pro MongoDB se můžete připojit ke službě Azure Cosmos DB a spravovat data. Můžete také provést další kroky optimalizace po migraci, jako je optimalizace zásad indexování, aktualizace výchozí úrovně konzistence nebo konfigurace globální distribuce pro účet služby Azure Cosmos DB. Další informace najdete v článku o optimalizaci po migraci.
Další materiály
- Informace o službě Azure Cosmos DB
- Dokumentace k databázovým nástrojům MongoDB
- Pokoušíte se naplánovat kapacitu migrace do služby Azure Cosmos DB?
- Pokud víte, že je počet virtuálních jader a serverů ve vašem existujícím databázovém clusteru, přečtěte si o odhadu jednotek žádostí pomocí virtuálních jader nebo virtuálních procesorů.
- Pokud znáte typické sazby požadavků pro vaši aktuální úlohu databáze, přečtěte si informace o odhadu jednotek žádostí pomocí plánovače kapacity služby Azure Cosmos DB.
Další kroky
- Projděte si pokyny k migraci a podívejte se na další scénáře v průvodci migrací databází Microsoftu.