Najvýkonnejšie servery Najvýkonnejšie servery
Dlhodobý víťaz
v porovnávacích testoch výkonu

MySQL a jeho odnože alebo čo vybrať?

Open source projekt MySQL je na trhu už viac ako 20 rokov, zato MariaDB sa prvýkrát objavila až v roku 2009. MariaDB sa spočiatku zameriavala na vývoj rovnocennje náhrady za MySQL s otvoreným zdrojovým kódom. V súčasnej dobe však majú oba projekty veľmi odlišné vývojové ciele, rovnako ako ich celkom bezplatná a plne kompatibilná náhrada Percona Server for MySQL. Ktorý systém pre správu databáz je lepší?

Niečo z histórie

MySQL bolo vyvinuté švédskou spoločnosťou MySQL AB. Tu neskôr kúpila spoločnosť Sun Microsystems. No a o pár rokov neskôr súpila Sun Microsystem spoločnosť Oracle. Takže MySQL dnes patrí spoločnosťi Oracle. Vďaka týmto rôznym akvizíciám akvizíciám sa v priebehu rokov začali vytvárať odnože pôvodného MySQL. V podstate ide len o štyri projekty:

Nebudeme se zaoberať tým, čím sa společnosti živia, pretože všetky potrebujú peniate a tak predávajú najrôznejšie „Enterprise riešenia“, napr. MariaDB SkySQL alebo napríklad najnovší MySQL Database Service with HeatWave, ale poďme sa pozrieť na to, čo je opensource, čo si môžeme nainštalovať na vlastný stroj, používať to bez platenia licenčných poplatkov a čo vedia alebo naopak nevedia.

Začneme dobrou správou. Pokiaľ nerobíte nič špeciálne, tak všetky systémy sú v podstate plne kompatibilné, pedovšetkým čo sa klientskej strany týka. Lenže ako hovorí nemecké príslovie: „Čert visí v detaile“. Tak sa poďme pozrieť na tie „maličkosti”.

MySQL

MySQL má MySQL Community Server, čo je to jediné, čo môžete prevádzkovať zadarmo. Všetko potrebné nájdete na https://dev.mysql.com/downloads/

Ako je vidieť, tak okrem MySQL Community Serveru ponúka Oracle aj radu ďalších nástrojů ako je môj oblúbený MySQL Shell a tiež grafické prostredie MySQL Workbench. MySQL rovnako podporuje nový protokol X DevAPI.

Podporované databázové úložiská:

MySQL

MariaDB

MariaDB sa už ani nesnaží vyzerať ako MySQL. V procesoch na servery nenájdeme bežať proces /usr/sbin/mysqld, ale /usr/sbin/mariadbd. Nepodporuje X DevAPI a celkovo si robí mnoho vecí vlastnou cestou. Z vecí ktoré nám tam chýbajú je najviac, že na server s MariaDB se nepripojíte pomocou MySQL Workbench.

Na druhú stranu vývojári MariaDB urobili oproti Oracle mnoho vylepšení. Napríklad medzi podporovanými datovými úložiskami nájdeme Open Query GRAPH, Mroonga, Spider a ďalšie. Viac v oficiálnej dokumentácii MariaDB.

Percona Server for MySQL

Percona Server for MySQL vychádza priamo z MySQL Community Serveru, teda rovnako umožňuje použiť X DevAPI a prlne využiť MySQL Shell, v neposlednej rade aj MySQL Workbench.

Navyše ponúka mnoho užitočných vecí z vlastnej dielne, ako napr. Percona XtraDB Cluster, čo je HA clusterové riešenie, Percona XtraBackup (veľmi rýchle zálohovanie, pri ktorom nedochádza k uzamknutiu databáz), Orchestrator pre ľahkú administráciu clusteru, a tiež napríklad mnoho užitočných utilit v balíku Percona Toolkit.

Celý prehľad je na adrese https://www.percona.com/doc/percona-distribution-mysql/8.0/index.html

Percona vykonala v roku 2015 akvizíciu spoločnosti Tokutek, čím sa stala vlastníkom technológie Fractal Tree® indexing. Súčasťou Percona Serveru for MySQL je aj databázový engine TokuDB.

Podporované databázové uložisko:

Percona

Co tedy vybrat?

Keď sa pozrieme na oficiálne weby, tak nájdeme napríklad len porovnanie MariaDB vs. MySQL. Je to rozhodne zaujímavie čítanie, ale pokiaľ sa opzrieme na porovnanie vlastností Percona Serveru, tak získame oveľa lepší obraz.

Hneď na pevý pohľad je vidieť, že Oracle v MySQL Community Serveru zámerne nemá funkce. Otázkou je, či ich potrebujeme. Niektoré sa hodia, napr. Thread Pool je veľmi užitočná vec.

Vec ktorú ale potrebujeme často je dokumentácia:

Môj záver je veľmi jednoduchý. Použite MySQL, ktoré máte v distribúcii. Pokiaľ vám nevyhovuje, alebo máte v distribúcii nejakú zastaralú verziu, tak odporúčame Percona Server for MySQL.