Rubriky
Technologie Vzdělávání

MariaDB a MySQL: Porovnání, výkon, historie

Zdravá konkurence může být i přínosná. Stačí se podívat na Apple a Samsung nebo třeba Burger King a McDonald´s. 

Proto se v minulosti oddělila i MariaDB od MySQL. Jak si z nich vybrat to vhodnější řešení?

Co je to databáze a jak funguje

Databáze je uspořádaná sbírka dat. Může to být jedna či více tabulek, ale i v kombinaci s různými dalšími objekty. V minulosti jsme poznali papírové databáze s pořadači. Dnes se používají elektronické a některé z nich mohou obsahovat i tisíce různých dat.

V tom případě máme dvě možnosti – na management dat použijeme tabulkový procesor (například Excel) nebo pokud je databáze příliš velká, jsou tu tzv. DBMS systémy (z anglického Database Management System), tedy systém pro management databáze.

DBMS použijeme i tehdy, pokud chceme:

  • jedním příkazem celé seznamy aktualizovat nebo v nich opravit údaje,
  • pracovat i s dalšími uživateli s údaji najednou,
  • čerpat údaje z vícero zdrojů.

DBMS umožňují pracovat s údaji a zjišťovat z nich informace. Čtyři nejčastější příkazy pro práci s databází jsou insert, search, update a delete.

Na vykonání těchto příkazů je nutné použít SQL jazyk (Structured Query Language) a v něm příkaz napsat. Právě od této zkratky pochází název MySQL. Název MariaDB je odvozený přímo z databáze.

Co je MySQL databáze

MySQL tvoří největší open source databázovou komunitu. MySQL (i MariaDB) je open source relační databáze. 

Open source znamená, že zdrojový kód je volně přístupný každému. Je možné jej upravovat podle svých představ či šířit své distribuce dále na základě veřejné licence.

Klasický DBMS umožňuje uchovávat data jako soubor. Relační databáze na druhé straně znamená, že její obsah je strukturovaný a uložený v tabulkách. Každá tabulka obsahuje určitý konečný počet sloupců – v nich je taktéž konečný počet řádků. Relační databáze tak eliminuje problém s uchováváním nadbytečných dat, který je častý při klasických DBMS.

MySQL tak umožňuje webovým vývojářům jednodušeji pracovat s daty v tabulkách.

Co je MariaDB databáze

MariaDB se jako odnož v minulosti oddělila od MySQL. Tak se rozhodl jeden z bývalých vývojářů Oracle a vytvořil MariaDB na základě MySQL. Novému typu open source relační databáze dal jméno po své dceři, Marii.

V důsledku tohoto oddělení data i definice tabulek, klientské protokoly, struktury či API (Application Programming Interface) jsou 100 % kompatibilní s původními verzemi MySQL, tedy 5.7 a dřívějšími.

Tato unikátní vlastnost zabezpečuje kompatibilitu databází při migraci z MySQL a do MariaDB i zpět bez nutnosti cokoliv měnit.

Je třeba zdůraznit, že MariaDB zůstala plně open source databází. Naproti tomu MySQL už obsahuje moduly, jejichž zdrojový kód není veřejně přístupný (closed source).

SQL příkazy pro tyto dva typy databází jsou totožné.

Logo MariaDB

Jaký je rozdíl mezi MariaDB a MySQL?

Po oddělení MariaDB začala zdravá konkurence mezi MySQL a MariaDB, která vedla k šikovným zlepšením. Vzhledem k tomu, že MySQL je korporátní projekt a má dobré finanční zázemí, zůstává lídrem v oblasti databází.

MariaDB se snažila jít ve stopách MySQL i co se týče verzí. Proto vznikla MariaDB 5.5, která ve své podstatě korespondovala s MySQL 5.7. Několik verzí se dařilo udržet tento trend, nicméně při nejnovějších verzích už vidíme rozdíly.

MySQL přešla mezi verzemi 5.7 a současnou verzí 8.x menším pokrokem. Není se čemu divit. Oracle totiž dává přednost vývoji vlastních komerčních produktů, jako je Oracle Database, Oracle Cloud nebo Heatwave. MySQL jako open source proto trochu zaostává.

Naopak MariaDB díky svému nepřetržitému vývoji dosáhla již verze 10.x. Obsahuje všechny populární open source enginy (zejména pro vyhledávání), některé obsahuje nejvýše v porovnání s MySQL. Také má několik vylepšení v oblasti rychlosti a začala podporovat některé doplňky, které nelze do MySQL instalovat. Stejně tak mnohé dynamické funkce vykonávané nad položkami v tabulkách se dají provádět pouze v MariaDB.

MySQL podporuje nativní datový typ JSON a standardně poskytuje SHA-2 autentifikační plugin a plugin validate_password defaultně, zatímco MariaDB ne.

A co právní stránka?

MariaDB je dodnes přístupná na základě veřejné licence (GNU General Public License).

MySQL, vzhledem ke svému korporátnímu pozadí, je využitelná na základě dvou různých licencí – na jedné straně na základě už zmíněné veřejné licence, a na druhé straně placené licence hlavně pro ty, kteří nechtějí, aby zdrojový kód jejich produktu byl open source.

Komerční podpora

U MySQL je to zřejmé. Akvizice databáze firmou Oracle v roce 2010 pokryla i tento aspekt a při řešení problémů odpovídají na otázky v průběhu celého týdne přímo pracovníci, experti na tento typ databáze i její vývojáři z Oracle.  

MariaDB helpdesk se skládá – jak by se dalo čekat – z expertů na oba druhy databází. Nabízejí stejně tak 24/7 podporu, a dokonce se dá koupit i tzv. řešení pro business, které zabezpečí okamžitou pomoc pro kritické projekty. Zakladatelé MariaDB věří, že tento veřejný model je prospěšný pro vývoj, protože samotní uživatelé mohou nahrát (samozřejmě po revizi) své opravy do databáze a přispět tak k vyřešení bezpečnostních problémů.

Dokumentace

U MySQL tato povinnost spadá pod Oracle. Oracle rozhoduje o vývoji a připravuje dokumentaci. Na druhé straně MariaDB je manažovaný organizací MariaDB Foundation. Je proto více otevřená lidem, což s sebou nese klady i zápory. Dokumentaci tvoří převážně lidé z MariaDB Foundation, ale i ostatní se mohou podílet na tvorbě dokumentace či vývoji samotné MariaDB.

Závěr, aneb kterou databázi použít 

Při rozhodování je potřeba se v první řadě podívat na to, pro který typ databáze byla napsaná aplikace, kterou chcete použít. Pokud se stane, že aplikace nevyžaduje pro svůj chod konkrétní typ databáze, otázka se vrací.

Je třeba zvážit i to, zda vyžadujete funkce obsažené v MySQL. Pokud ne, bude zřejmě vhodnější MariaDB, zejména proto, že na základě jejího modelu bude téměř jistě podporována ještě dlouhou dobu.

U databáze MySQL a jejího korporátního modelu existuje riziko ještě většího zpomalení vývoje na úkor jejich komerční databáze. Pokud se vám líbí více korporátní model MySQL a důvěřujete mu, zvolte tuto cestu. Zejména pokud máte zájem o jejich placenou licenci.

Pokud však věříte v sílu davu společně tvořícího MariaDB, neuděláte krok vedle při výběru MariaDB 10.5 jako nového typu vaší databáze.

Pro další práci s databázemi můžete využít naši Bázi znalostí, ve které najdete řadu návodů k databázím.

Jakou databázi používáte vy a proč? Dejte nám vědět v komentářích.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *