Přístupy k migraci

Dokončeno

K migraci databáze můžete využít mnoho různých přístupů, jako je online nebo offline migrace, zálohování a obnovení nebo migrace pomocí vlastního kódu SQL nebo skriptů. Každý přístup je nejvhodnější pro určité obchodní scénáře.

Ve vaší začínající společnosti je například důležitá komunikační databáze dodavatele a chcete se pokusit o migraci bez přerušení služby uživatelům. Toto oddělení společnosti funguje 24/7 a existuje několik předvídatelných tichých časů, kdy byste mohli databázi převést do režimu offline. Naproti tomu systém CAD (Computer Aided Design) se používá jenom během týdne, takže byste ho mohli přes víkend převést do offline režimu a migrovat ho do Azure.

V této části se dozvíte o přístupech, technikách a nástrojích, které můžete vybrat k provedení migrace.

Kdy použít export a import

Techniky exportu a importu umožňují řídit data a schéma přesunuté v migraci. Nástroje pro export a import použijte, pokud chcete vybrat, která data se migrují do nové databáze, a případně data během migrace vyčistit nebo upravit.

Zvažte použití technik exportu a importu:

  • Pokud chcete zvolit podmnožinu tabulek v místní databázi pro migraci do cloudové databáze.

  • Pokud chcete migrovat databázové objekty, jako jsou omezení, zobrazení, funkce, procedury a triggery, a řídit, jak jsou tyto objekty nastavené v cloudové databázi.

  • Pokud chcete importovat data z jiných externích zdrojů než MySQL, MariaDB nebo PostgreSQL.

Můžete například zvážit export a import v těchto scénářích:

  • Chcete provést kusmeální migraci, kde se marketingové úlohy migrují do cloudu a testují se před úlohou podpory prodeje. Obě úlohy používají tabulky z databáze SalesDB ve vašem místním systému. Marketingové tabulky chcete migrovat pouze v první fázi projektu a prodejní tabulky pouze ve druhé fázi.

  • Vaše místní data jsou stará a obsahují kombinaci dat, která jsou relevantní a irelevantní pro aktuální firmu. Chcete využít příležitost odebrat stará data a zvážit efektivnější schéma databáze.

  • Máte velkou tabulku, která obsahuje data o produktech. Tato data chcete migrovat do cloudové databáze.

Plánování exportu a importu migrace

Výhodou použití exportu a importu je další úroveň kontroly nad migrovanými daty. Nevýhodou však je, že je nutné pečlivě naplánovat, aby se zajistilo, že budou zahrnuty všechny potřebné objekty.

Ujistěte se, že rozumíte tomu, jak se budou migrovat následující objekty:

  • Schéma databáze.
  • Omezení včetně primárních klíčů, cizích klíčů a indexů
  • Zobrazení, funkce, procedury a triggery.
  • Uživatelské účty a oprávnění

Export a import pro MySQL a MariaDB

Pomocí skriptů SQL můžete provádět selektivní export a import z jedné databáze do druhé. Pokud je ale vaše místní databáze v MySQL nebo MariaDB, je k dispozici několik nástrojů, které vám pomůžou, včetně:

  • MySQL Workbench. Jedná se o oblíbený nástroj pro návrh databáze s grafickým uživatelským rozhraním vyvinutým společností Oracle Corporation. Obsahuje nástroj pro export dat s flexibilními možnostmi výběru dat.

  • Toad Edge. Jedná se o konkurenční sadu nástrojů vyvinutou Questem. Slouží k exportu a importu dat z databází MySQL i PostgreSQL.

  • Navicat. Tento nástroj grafického uživatelského rozhraní pro správu databáze je také kompatibilní s databázemi MariaDB.

  • mysqlimport. Tento nástroj příkazového řádku může importovat data z textových souborů.

Důležité

Azure Database for MySQL a Azure Database for MariaDB podporují pouze modul úložiště InnoDB. Pokud máte nějaké tabulky, které používají jiné moduly, například modul MyISAM, musíte je před migrací do Azure převést na InnoDB.

Export a import PostgreSQL

PostgreSQL poskytuje následující nástroje, které používáte k exportu a importu dat:

  • pg Správa. Toto je nástroj grafického uživatelského rozhraní pro správce PostgreSQL. Poskytuje rozhraní pro export a import dat.

  • pg_dump. Jedná se o nástroj příkazového řádku, který slouží k exportu databáze v různých formátech, včetně testování. Výsledné .sql soubory můžete před importem upravit pomocí nástroje psql .

  • Toad Edge. Jedná se o stejný nástroj, který používáte s MySQL.

Zálohování a obnovení

Operace zálohování a obnovení se obvykle provádějí za účelem ochrany databáze před haváriemi. Přesná kopie databáze se převezme a uloží. Pokud havárie zničí pracovní kopii, zálohovaná kopie se obnoví a normální firma může pokračovat.

Obnovením do jiného umístění můžete pomocí zálohy migrovat úplnou databázi do jiného umístění, například do databáze v cloudu.

Kdy použít zálohování a obnovení

Zálohovací nástroje tvoří jednoduchou a přesnou kopii databáze. Při obnovení v cloudové databázi získáte přesně stejná data a schéma, které jste měli v místním systému. K migraci databáze použijte zálohování a obnovení:

  • Pokud chcete migrovat celou databázi nebo sadu databází v jedné operaci.

  • Pokud během migrace nepotřebujete provádět žádné změny dat, schématu nebo jiných databázových objektů.

Při provádění migrace byste mohli zvážit použití zálohování a obnovení v takových případech:

  • Máte jednoúčelový databázový systém, který chcete metodou "lift and shift" přejít do cloudu s co nejmenšími úpravami.

  • Chcete provést kusmeální migraci v systému s více databázemi. Každou úlohu podporuje kompletní databáze.

Když obnovíte databázi ze záložního souboru do cloudového umístění, zvažte množství dat, která se musí odesílat přes síť do cloudové databáze. Pokud chcete tento přenos dat optimalizovat, zkopírujte zálohovanou databázi do virtuálního počítače ve stejné oblasti jako cílová databáze a obnovte ji odtud. Toto obnovení je rychlejší než použití místního záložního souboru a je méně pravděpodobné, že způsobí kolize šířky pásma sítě.

Plánování zálohování a obnovení v MySQL a MariaDB

K zálohování databáze na místním serveru použijete mysqldump nástroj na příkazovém řádku. Tím se vytvoří soubor .sql, který obnovíte do cloudové databáze tak, že ho mysql předáte příkazu jako skript. Pokud dáváte přednost nástroji grafického uživatelského rozhraní, zvolte aplikaci PHPMy Správa nebo MySQL Workbench. Tyto nástroje grafického uživatelského rozhraní můžou zálohovat a obnovovat data.

Mějte na paměti, že Azure Database for MySQL a Azure Database for MariaDB podporují pouze modul InnoDB. Před spuštěním zálohování nezapomeňte všechny tabulky převést na InnoDB.

Pokud se chcete vyhnout problémům s kompatibilitou, zkontrolujte, jestli číslo verze MySQL nebo MariaDB použité v cloudu odpovídá číslu verze místního databázového serveru. Azure Database for MySQL podporuje verze 5.6, 5.7 a 8.0. Azure Database for MariaDB podporuje verze 10.2 a 10.3. Pokud váš místní server používá starší verzi, před migrací do cloudu zvažte upgrade na jednu z těchto verzí a řešení jakýchkoli potíží místně.

Plánování zálohování a obnovení v PostgreSQL

Ekvivalentní nástroje pro zálohování a obnovení příkazového řádku v PostgreSQL jsou pg_dump a pg_restore. Pro nástroj pro zálohování a obnovení grafického uživatelského rozhraní použijte Aplikaci Toad Edge.

Vlastní kód aplikace

Pokud máte rozsáhlé požadavky na transformaci dat nebo chcete provést neobvyklou migraci, zvažte vytvoření vlastního kódu pro přesun dat z místní databáze MySQL, PostgreSQL nebo MariaDB do cloudu.

Váš vlastní kód může mít mnoho forem. Jazyk a architektura, které zvolíte, závisí hlavně na odborných znalostech vašeho vývojového týmu:

  • Skripty SQL generované z databáze a upravené nebo vyvinuté úplně od začátku
  • Zkompilovaný kód z vývojového rozhraní, jako je .NET nebo Java.
  • Skripty v PHP nebo Node.js
  • Skripty prostředí pro Bash nebo PowerShell

Vlastní přístup k kódu umožňuje být extrémně flexibilní. Můžete přizpůsobit způsob filtrování, agregace a transformace dat a migraci do více cílů nebo sloučení dat z více zdrojů. Tento přístup použijte, pokud máte požadavky, které se nedají splnit s předpovídkaným nástrojem pro zálohování nebo export.

Nevýhodou tohoto přístupu je, že vyžaduje větší investice do doby vývoje. Aby vlastní kód správně migroval všechna data, musí být před spuštěním na skutečných datech důkladně otestován. Tento úkol vyžaduje tým zkušených vývojářů a testerů a často zvyšuje rozpočet projektu. Pokud uvažujete o psaní vlastního kódu migrace, nepředpokládáte podcenění času a úsilí potřebného k vytvoření spolehlivého kódu.

Azure Database Migration Service

Azure zahrnuje flexibilní službu s názvem Azure Database Migration Service (DMS), kterou používáte k bezproblémové online migraci z více zdrojů dat do datových platforem Azure. Mezi tyto platformy patří Azure Database for MySQL, Azure Database for MariaDB a Azure Database for PostgreSQL.

Při každé migraci online databáze do Azure zvažte použití Azure DMS.

Počáteční migrace

Pokud chcete provést migraci pomocí DMS, proveďte tyto úlohy:

  1. Vytvořte novou cílovou databázi v Rámci Azure na platformě podle vašeho výběru.
  2. Vytvořte nový projekt migrace dat služby Azure Database Migration Service (DMS).
  3. Vygenerujte schéma z místních zdrojových databází. Pokud používáte MySQL, můžete vygenerovat schéma pomocí sqldump. Pokud je zdrojová databáze PostgreSQL, použijte pg_dump.
  4. Vytvořte prázdnou databázi, která bude fungovat jako cíl migrace.
  5. Použijte schéma na cílovou databázi.
  6. Nakonfigurujte podrobnosti o připojení pro zdrojové a cílové databáze v projektu migrace DMS.
  7. Spusťte projekt migrace DMS. Projekt přenese data a vygeneruje sestavu.
  8. Zkontrolujte sestavu a opravte všechny problémy, které identifikuje.

Online migrace

Azure DMS je vhodný nástroj pro online migrace, ve kterém původní databáze zůstává při provádění migrace dostupná. Uživatelé budou dál provádět změny dat ve zdrojové databázi. Azure DMS používá replikaci k synchronizaci těchto změn s migrovanou databází. Po dokončení migrace překonfigurujete uživatelské aplikace tak, aby se připojily k migrované databázi.

Migrace MySQL nebo MariaDB do služby Azure SQL Database

Pokud chcete přesunout databázi, která je hostovaná místně na databázovém serveru MySQL, do cloudu Azure – a ke spuštění MySQL nepotřebujete cloudovou databázi – zvažte migraci do Azure SQL Database. Azure SQL Database je implementace PaaS špičkového databázového stroje SQL Serveru od Microsoftu. Zahrnuje dostupnost na podnikové úrovni, škálovatelnost a zabezpečení a snadno se dá monitorovat a spravovat.

Podobně platí, že pokud na místním databázovém serveru běží MariaDB, můžete zvážit migraci na Azure SQL Database. Proces je velmi podobný, protože MariaDB je fork MySQL.

Azure SQL Database je plně funkční než Azure Database for MySQL a Azure Database for MariaDB.

Poznámka:

Možná budete muset upravit všechny aplikace, které se připojují k migrované databázi, protože Azure SQL Database používá různé datové typy, různé databázové objekty a jiné rozhraní API než MySQL a MariaDB. Obraťte se na vývojáře a zjistěte, kolik práce je potřeba k přenosu klientské aplikace z místní databáze MySQL nebo MariaDB do cloudové databáze Azure SQL.

Pomocník s migrací SQL Serveru for MySQL

Pokud se rozhodnete migrovat z MySQL do Azure SQL Database, můžete použít specializovaný nástroj: Pomocník s migrací SQL Serveru for MySQL. Tento nástroj grafického uživatelského rozhraní se připojuje ke zdrojové databázi MySQL a databázi SQL Serveru, což může být databáze ve službě Azure SQL Database.

Po připojení asistent zkopíruje kompletní schéma do služby Azure SQL Database a převede všechny datové typy na jejich ekvivalenty SQL Serveru. Migruje také zobrazení, procedury, triggery a další objekty. Pak můžete začít migrovat data z MySQL do Azure SQL Database.

Poznámka:

Pomocník s migrací SQL Serveru pro MySQL se neotestuje pro migraci databází MariaDB do služby Azure SQL Database.