Nástroje pro migraci databázových schémat Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií Nástroje pro migraci databázových schémat Obhajoba bakalářské práce Student: Petr Hubík Vedoucí: Ing. Dušan Chlapek, Ph.D. Oponent: Ing. Barbora Tomášková
Cíle práce Výběr vhodného nástroje pro migraci databázových schémat: Provést rešerši prací Stanovit výběrová kritéria pro hledání hotových řešení Provést výběr hotových řešení dle stanovených kritérií Provést výběr nejlepšího hotového řešení Ověřit řešení na případové studii
Požadavky na nástroj Diff dvou databázových schémat Licence zdarma i pro komerční využití Schopnost práce s MySQL Minimálně anglický jazyk Aktivní vývoj Open source — 40 % Schopnost práce s jinými SŘBD — 40 % Schopnost práce skrz abstraktní vrstvu — 20 %
Nalezená hotová řešení Liquibase MySQL Workbench mysqldiff phpmydiff 21 dalších — příloha A práce
Stanovení hodnotících kritérií Instalace a nastavení — 20 % 5 kritérií Funkčnost nástroje — 50 % 126 kritérií tabulky, pohledy, triggery, procedury, funkce, události Dokumentace a komunita — 30 % 9 kritérií
Zhodnocení nástrojů
MySQL Workbench 19 nesplněných funkčních kritérií přejmenování tabulek tabulky: 4/77 události: 15/15 přejmenování tabulek přejmenování tabulkových sloupců změna collation tabulek na výchozí collation schéma změna collation tabulkových sloupců na výchozí collation tabulky práce s daty práce s událostmi
Postup nasazení nástroje do praxe seznámit vývojáře s nástrojem, jeho funkčností a možnostmi seznámit vývojáře s omezeními nástroje instalovat nástroj na vývojářské stanice nastavit parametry připojení pro projekty ověřit nastavení instance databáze
Přínosy práce Nalezen nástroj pro automatizovanou migraci databázových schémat Definována funkční omezení testovaného nástroje Stanovena kritéria testování funkčnosti nástrojů pro automatizovaný diff schémat Sepsána doporučení pro nasazení v praxi
Děkuji za pozornost Obsah práce: Úvod Databázový deployment Požadavky na nástroj Stanovení hodnotících kritérií Zhodnocení nástrojů Doporučení postupu nasazení v praxi Případová studie Závěr
Otázka č. 1 Čím se liší komerční nástroje od vámi zkoumaných nástrojů, resp. zda komerční využití má k dispozici více funkcí než použití nástroje zdarma?
Odlišnosti komerčních nástrojů Větší podpora databázových systémů MySQL, MSSQL, Oracle, PostgreSQL, SQLite, DB2, Sybase, MS Access, HSQLDB, Interbase, Firebird Možnost diffu dat
Otázka č. 2 Které nástroje z přílohy A jsou zpoplatněny?
Zpoplatněné nástroje DatabaseSpy® 2012 129 USD Datanamic SchemaDiff 99/199/299 USD DB Solo 129 USD dbForge Schema Compare for MySQL 79,95 USD DiffDog® 2012 189 USD MySQL Compare 195 USD Omega Sync 199/349 USD SQL Examiner 2010 R2 200 USD SQLyog 99 USD Sync Database MySQL Edition 149,95 USD
Otázka č. 3 Podporuje některý z open source nástrojů databázový systém Teradata? Pokud ne proč myslíte že tomu tak je?
Teradata Nepodporuje Teradata — určena pro datové sklady Změna schémat datových skladů: nutná úprava komponent datové transformace nutné úpravy ostatních databázových komponent nutné úpravy analytických komponent a další Při velikosti DB i více jak 1 PB velice náročný proces trvající dlouhou dobu