Obsah
MySQL
MySQL je relační databázový systém, který vyvinula švédská společnost MySQL AB (nyní vlastněná korporací Oracle). Je známý svou vysokou rychlostí, spolehlivostí a snadným použitím. MySQL ukládá data do tabulek, které jsou navzájem propojeny pomocí relací, což umožňuje efektivní organizaci a vyhledávání informací.
Díky své open-source povaze a nulovým nákladům na licenci (pro většinu použití) se MySQL stalo standardem pro webové aplikace, jako jsou WordPress, Facebook, YouTube nebo Twitter.
Klíčové vlastnosti
- Relační model: Data jsou organizována v tabulkách se striktně definovanými sloupci.
- Klient-server architektura: Databáze běží jako server, ke kterému se připojují různí klienti (aplikace, webové servery, administrátorské nástroje).
- Podpora úložišť (Storage Engines): MySQL umožňuje zvolit různé mechanismy ukládání dat:
- InnoDB: Moderní standard, podporuje transakce (ACID) a cizí klíče.
- MyISAM: Starší formát, velmi rychlý pro čtení, ale nepodporuje transakce.
- Škálovatelnost: Dokáže obsluhovat malé blogy i obrovské podnikové systémy s miliardami záznamů.
Architektura a fungování
MySQL zpracovává dotazy v několika krocích:
1. **Connection Manager:** Ověří identitu uživatele a přidělí mu vlákno. 2. **Query Optimizer:** Analyzuje [[sql|SQL]] dotaz a vybere nejrychlejší cestu k datům (např. zda použije index). 3. **Execution Engine:** Provede samotnou operaci nad daty. 4. **Storage Engine:** Fyzicky zapíše nebo přečte data z disku.
MySQL v ekosystému LAMP
MySQL je klíčovou součástí „zlatého standardu“ webového vývoje:
- Linux (Operační systém)
- Apache (Webový server)
- MySQL (Databáze)
- PHP/Python (Programovací jazyk)
Tato kombinace umožnila masový rozvoj dynamických webových stránek koncem 90. let.
MariaDB: Svobodná větev (Fork)
Poté, co MySQL koupila společnost Oracle, vznikly obavy o budoucí směřování projektu. Původní zakladatel MySQL proto vytvořil MariaDB – „čistě“ komunitní větev, která je s MySQL plně kompatibilní. Mnoho linuxových distribucí dnes místo původního MySQL nabízí právě MariaDB.
Výhody a nevýhody
| Výhody | Nevýhody |
|---|---|
| Rychlost: Optimalizováno pro bleskové čtení dat. | Omezení Oracle: Některé pokročilé funkce jsou pouze v placené verzi. |
| Komunita: Obrovské množství návodů, fór a hotových řešení. | Komplexita: Náročné na ladění při extrémně vysoké zátěži. |
| Bezpečnost: Silné mechanismy šifrování a správy uživatelů. | Striktnost: Vyžaduje pevné schéma (na rozdíl od NoSQL). |
Administrační nástroje
Pro správu MySQL se nejčastěji používají:
- phpMyAdmin: Webové rozhraní pro snadnou správu přes prohlížeč.
- MySQL Workbench: Profesionální vizuální nástroj pro návrh schémat a správu serverů.
- Příkazový řádek (CLI): Pro rychlou práci a automatizaci skriptů.
Související pojmy: SQL, RDBMS, InnoDB, MariaDB, LAMP, CRUD, SQL Injection, Databáze.
