MySQL je systém řízení báze dat, který uplatňuje relační databázový model. Byl vytvořen švédskou firmou MySQL AB, kterou v současnosti vlastní Oracle Corporation. Hlavními autory jsou Michael řečený „Monty“ Widenius a David Axmark. MySQL je považováno za jednoho z nejúspěšnějších průkopníků dvojího licencování, je totiž dostupné pod bezplatnou licencí GPL i pod placenou komerční licencí.

MySQL je multiplatformní databáze, ve které komunikace probíhá pomocí jazyka SQL. Podobně jako u dalších SQL databází se jedná o dialekt SQL s různými modifikacemi.

MySQL má relativně vysoký podíl na v současnosti používaných databázích, protože je snadno implementovatelný, výkonný a volně šiřitelný. Často se nasazuje kombinace GNU/Linux, Apache, MySQL a PHP pro sestavení základního software webového serveru, takzvaná „technologie LAMP“.

Od svých počátků bylo MySQL optimalizováno s důrazem na rychlost, což vedlo ke kompromisům v podobě dostupnosti jen jednoduchých způsobů zálohování a toho, že dlouho nepodporovalo pohledy, triggery ani uložené procedury. V posledních letech došlo k doplňování těchto vlastností, vzhledem k tomu, že pro hlavní uživatele produktu, tedy programátory webových stránek, se jejich absence stala zásadní.

Architektura MySQL serveru

Architektura MySQL serveru se liší od některých jiných architektur databázových serverů. Nejsvrchnější vrstva v sobě obsahuje služby, které nejsou unikátní pro MySQL a zvládnou obsloužit většinu potřebných nástrojů klient/server, které závisejí na síti.

V další vrstvě se nachází kód pro rozbor, tedy parsing, analýzu, optimalizaci i pro veškeré zabudované funkce. V této úrovni je skryta veškerá funkcionalita, která je následně poskytována prostřednictvím úložných enginů.

Třetí z vrstev obsahuje samotné úložné enginy. Ty se starají o ukládání a získávání uložených dat. Server využívá ke komunikaci s úložnými enginy API.

Výhody použití MySQL

  • Jednoduchost použití. MySQL se snadno nainstaluje a díky široké škále nástrojů třetích stran, které lze do databáze přidat je nastavení implementace relativně jednoduché. Navíc se jedná o databázi, se kterou se relativně snadno pracuje. Dokud rozumíte jejímu jazyku, neměli byste narazit na příliš mnoho problémů.
  • Dostupná podpora. Přestože Oracle nemá příliš dokonalou historii, co se týče podpory zákazníků, podstata samotného MySQL, které začalo jako open source platforma, znamená, že existuje velká a aktivní komunita vývojářů a nadšenců, kteří dokážou pomoci s mnoha situacemi. To je způsobeno velkou popularitou řešení, která vedla k široké základně expertů.
  • Dostupnost. Na základě toho, na co potřebujete MySQL používat může implementace nabývat ceny v rozsahu od zadarmo po deset tisíc dolarů a více. Ve všech případech je MySQL cenově dostupnější, nežli většina ostatních možností na trhu, pomineme-li open source software.
  • Průmyslový standard. Přestože popularita MySQL v posledních letech poklesla, stále se jedná o jeden z nejpoužívanějších databázových systémů na světě. Je kompatibilní téměř s každým operačním systémem a je považováno za průmyslový standard.

Nevýhody použití MySQL

  • Stabilita. Podle Digital Ocean má MySQL spíše nižší spolehlivost nežli konkurenční databázová řešení. Tyto problémy se stabilitou souvisí s tím, jakým způsobem řeší některé funkce, jako jsou například reference, transakce nebo auditing. Přestože je databáze i tak naprosto bezproblémově použitelná, v některých specifických případech se může jednat o důvod zvolit jiné řešení.
  • Výkon. Přestože je MySQL vybaveno tak, aby si poradilo téměř s jakýmkoliv objemem dat, má sklony k tomu se zaseknout, pokud je spuštěno příliš mnoho operací najednou. Tato relativně horší výkonnostní škálovatelnost znamená, že pokud hledáte řešení s vysokou mírou konkurenčních úrovní, je pravděpodobně vhodnější poohlédnout se po jiné alternativě.
  • Vývoj není komunitní. Rychlost vývoje je pomalejší, protože není tažen komunitou. Od té doby, co bylo MySQL převzato Oraclem se vývoj rapidně zpomalil.
  • Závislost na addonech. Některé často využívané funkce je možné použít jen za pomoci přidaných aplikací a addonů.