Obsah
1. Čo je to databáza a ako funguje
4. Aký je rozdiel medzi MariaDB a MySQL?
7. Dokumentácia
8. Záver, alebo ktorú databázu použiť
Zdravá konkurencia vie priniesť veľa dobrého. Stačí sa pozrieť na Apple a Samsung. Alebo ešte lepšie – Burger King vs. McDonald´s. ?
Preto sa v minulosti odčlenila aj MariaDB od MySQL. Ako si z nich vybrať tú vhodnejšiu?
Čo je to databáza a ako funguje
Databáza je usporiadaná zbierka dát. Môže to byť jedna tabuľka alebo viac tabuliek, ale aj v kombinácii s rôznymi ďalšími objektami. V minulosti sme poznali papierové databázy so zakladačmi. Dnes sú v kurze tie elektronické a niektoré z nich môžu mať tisícky rôznych dát.
Vtedy máme v zásade dve možnosti – na manažment dát použijeme tabuľkový procesor (typicky Excel) alebo ak je databáza príliš veľká, sú tu tzv. DBMS systémy (z anglického database managment system), teda systém pre manažment databázy.
DBMS použijeme aj vtedy, ak chceme:
- jedným príkazom aktualizovať celé zoznamy alebo údaje opraviť,
- ako viacerí používatelia pracovať s údajmi naraz alebo
- čerpať údaje z viacerých zdrojov.
DBMS umožňujú pracovať s údajmi a z týchto údajov zisťovať informácie. Štyri najčastejšie príkazy pre prácu s databázou sú insert, search, update a delete.
Na vykonanie týchto príkazov je nutné použiť SQL jazyk (Structured Query Language) a v ňom napísať príkaz. Práve od tejto skratky pochádza názov MySQL. Názov MariaDB sa odvádza priamo od databázy.
Čo je MySQL databáza
MySQL tvorí najväčšiu open-source databázovú komunitu. MySQL (aj MariaDB) je open-source relačná dabáza. Čo to znamená?
Open source znamená, že jej zdrojový kód je voľne prístupný každému, a môže ho upravovať podľa svojich predstáv, či šíriť svoje distribúcie ďalej na základe verejnej licencie.
Klasický DMBS umožňuje uchovávať dáta ako súbor. Relačná databáza na druhej strane znamená, že jej obsah je štruktúrovaný a uložený v tabuľkách. Každá tabuľka obsahuje určitý konečný počet stĺpcov – v nich je taktiež konečný počet riadkov. Relačná databáza tak eliminuje problém s uchovávaním nadbytočných dát, ktorý je častý pri klasických DBMS.
MySQL tak umožňuje webovým vývojárom jednoduchšie narábať s dátami v tabuľkách.
Čo je MariaDB databáza
MariaDB sa ako odnož v minulosti odčlenila od MySQL. Tak sa rozhodol jeden z bývalých vývojárov Oracle a vytvoril MariaDB na podklade MySQL. Novému typu open-source relačnej databázy dal meno po svojej dcére, Márii.
V dôsledku tohto odčlenenia dáta i definície tabuliek, klientske protokoly, štruktúry, či API (Application Programming Interface), sú 100 % kompatibilné s pôvodnými verziami MySQL, teda 5.7 a skoršími.
Táto unikátna vlastnosť zabezpečuje kompatibilitu databáz pri migrácii z MySQL do MariaDB a späť bez toho, aby sme museli čokoľvek zmeniť.
Treba zdôrazniť, že MariaDB aj ostala plne open-source databázou. Naproti tomu MySQL už obsahuje moduly, ktorých zdrojový kód nie je verejne prístupný (closed-source).
SQL príkazy pri týchto dvoch typoch databáz sú totožné.
Aký je rozdiel medzi MariaDB a MySQL?
Po odčlenení MariaDB sa začala zdravá konkurencia medzi MySQL a MariaDB, ktorá viedla k šikovným zlepšeniam. Vzhľadom na to, že MySQL je korporátny projekt, stále zotrváva vďaka ich financiám ako líder v oblasti databáz.
MariaDB sa snažila ísť v stopách MySQL aj čo sa týka verzií. Preto vznikla MariaDB 5.5, ktorá vo svojej podstate korešpondovala s MySQL 5.7. Niekoľko verzií sa darilo udržať tento trend, avšak pri najnovších verziách už vidíme rozdiely.
MySQL prešla medzi verziami 5.7 a súčasnou verziou 8.x menším napredovaním. Niet sa čomu diviť. Oracle totiž dáva skôr prednosť vývoju svojich vlastných komerčných produktov, ako je Oracle Database, Oracle Cloud alebo Heatwave. MySQL ako open source preto trochu zaostáva.
Naopak, MariaDB, vďaka svojmu nepretržitému vývoju, dosiahla už verziu 10.x. Obsahuje sama o sebe všetky populárne open source enginy (najmä pre vyhľadávanie), niektoré obsahuje navyše v porovnaní s MySQL. Tiež má niekoľko vylepšení v oblasti rýchlosti a začala podporovať niektoré doplnky, ktoré sa do MySQL inštalovať nedajú. Taktiež mnohé dynamické funkcie vykonávané nad položkami v tabuľkách sa dajú vykonávať len v MariaDB.
MySQL podporuje natívny dátový typ JSON a štandardne poskytuje SHA-2 autentifikačný plugin a plugin validate_password defaultne, zatiaľ čo MariaDB nie.
A čo právna stránka?
MariaDB je dodnes prístupná na základe verejnej licencie (GNU General Public License).
MySQL, vzhľadom na svoje korporátne pozadie, je využiteľná na základe dvoch rôznych licencií – na jednej strane, na základe už spomenutej verejnej licencie, a na druhej strane aj platenej licencie hlavne pre tých, ktorý nechcú, aby zdrojový kód ich produktu bol open-source.
Komerčná podpora
Pri MySQL je to zrejmé. Akvizícia databázy firmou Oracle v roku 2010 pokryla aj tento aspekt a pri riešení problémov odpovedá na otázky priamo Oracle s jeho pracovníkmi, expertmi na tento typ databázy a jej vývojári, počas celého týždňa.
MariaDB helpdesk sa skladá – ako by sa očakávalo – z expertov na oba typy databáz. Ponúkajú taktiež 24/7 podporu a dokonca sa dá zakúpiť tzv. riešenie pre biznis, ktoré zabezpečí okamžitú pomoc pre kritické projekty. Zakladatelia MariaDB veria, že takýto verejný model je prospešný pre vývoj, pretože samotní používatelia môžu nahrať (samozrejme po revízii) svoje opravy do databázy a prispieť k vyriešeniu bezpečnostných problémov.
Dokumentácia
Pri MySQL táto povinnosť spadá pod Oracle. Oracle rozhoduje o vývoji a pripravuje dokumentáciu. Na druhej strane MariaDB je manažovaný organizáciou MariaDB Foundation. Je preto viac otvorená pre ľudí, čo má klady aj zápory. Dokumentáciu tvoria prevažne ľudia z MariaDB Foundation, no ostatní sú taktiež schopní podieľať sa na tvorbe dokumentácie, či vývoji smotnej MariaDB.
Záver, alebo ktorú databázu použiť
Pri rozhodovaní je potrebné sa v prvom rade pozrieť na to, pre ktorý typ databázy bola napísaná aplikácia, ktorú chcete použiť. Ak sa stane, že aplikácia nevyžaduje pre svoj chod konkrétny typ databázy, otázka sa vracia.
Je potrebné zvážiť aj to, či vyžadujete funkcie obsiahnuté v MySQL. Ak nie, bude zrejme vhodnejšia MariaDB, najmä preto, lebo na základe jej modelu bude takmer s istotou podporovaná ešte dlhú dobu.
Pri databáze MySQL a jej korporátnom modele existuje riziko ešte väčšieho spomalenia vývoja na úkor ich komerčnej databázy. Ak sa vám páči viac korporátny model MySQL a dôverujete mu, zvoľte túto cestu. Najmä ak máte záujem o ich platenú licenciu.
Ak však veríte v silu davu spoločne tvoriaceho MariaDB, neurobíte krok vedľa pri zakliknutí MariaDB 10.5 ako nového typu vašej databázy.
Pre ďalšiu prácu s databázami môžete využiť našu Bázu znalostí, v ktorej nájdete množstvo návodov k databázam.
Ktorú databázu používate vy a prečo? Dajte nám vedieť v komentároch.
Pôvodný článok o porovnaní databáz napísal Peter Hanzlík (20.09.2018). Túto tému nanovo spracovala Simona Uhrinová a starý článok sme upravili.