Sdílet prostřednictvím


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.

Diagram kroků migrace

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 .

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.

Snímek obrazovky funkce MongoDB SSR

A pokud je zakázaná, doporučujeme ji povolit, jak je znázorněno níže.

Snímek obrazovky s povolením MongoDB SSR

Volba správného nativního nástroje MongoDB

Diagram výběru nejlepší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:

  1. Otevřete Azure Portal.

  2. Přejděte ke svému účtu Služby Azure Cosmos DB pro MongoDB.

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

    Snímek obrazovky s přihlašovacími údaji služby Azure Cosmos DB

    • 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

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

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

    Snímek obrazovky s voláním mongoexport

  2. Stejný terminál můžete použít k importu edx.json do služby Azure Cosmos DB. Pokud používáte mongoimport počítač s Linuxem, zadejte

    mongoimport --host HOST:PORT -u USERNAME -p PASSWORD --db edx --collection importedQuery --ssl --type json --writeConcern="{w:0}" --file edx.json
    

    Ve Windows bude mongoimport.exespustitelný 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.

  3. Monitorujte výstup terminálu z mongoimportu. Měli byste vidět, že v terminálu vytiskne řádky textu obsahující aktualizace stavu migrace:

    Snímek obrazovky s voláním mongoimport

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

    Snímek obrazovky s ověřením dat ve službě Azure Cosmos DB

Mongodump/mongorestore

  1. 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á struktura edx-dump reprodukuje hierarchii prostředků (strukturu databáze a kolekce) vaší zdrojové instance MongoDB. Každá kolekce je reprezentována souborem BSON:

    Snímek obrazovky s voláním Mongodump

  2. K obnovení obsahu edx-dump do služby Azure Cosmos DB můžete použít stejný terminál. Pokud používáte mongorestore počítač s Linuxem, zadejte

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

  3. Monitorujte výstup terminálu z mongorestore. Měli byste vidět, že tiskne řádky do terminálu v stavu migrace:

    Snímek obrazovky s voláním mongorestore

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

    Snímek obrazovky s ověřením dat mongorestore služby Azure Cosmos DB

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

Další kroky