2. Mýty o MySQL
• MySQL je jen lepší souborový systém
– Poddotazy
– Triggery
– Pohledy
– Uložené procedury
2
3. Mýty o MySQL
• MySQL nepodporuje transakce a cizí klíče
– MySQL obsahuje více různých úložišť
– Úložiště MyISAM transakce a cizí klíče opravdu nemá
– Úložiště InnoDB ano
3
4. Mýty o MySQL
• MySQL je rychlé, ale málo konkurenční
– Tabulky InnoDB zamykají jednotlivé záznamy
– MySQL je ideální pro webové aplikace
• MySQL je rychlé, ale špatně škáluje,
MySQL není odolné proti výpadku serveru
– Replikace
– MySQL Cluster
4
5. Mýty o MySQL
• MySQL neumí pracovat s více než X záznamy
– Nejde o počet záznamů, ale o paměť
– Pokud se vejdou data do paměti, máme vyhráno
– Pokud alespoň indexy, tak je to pořád dobré
– Když ani ty ne, tak máme I/O workload
– Množství dostupné paměti ovlivňuje konfigurace
– V MySQL 5.1 lze navíc použít rozdělení tabulky
5
6. Výkonnost MySQL
100
90
80
70
60
50
40
30
20
10
0
Data v Indexy v Vše na disku
paměti paměti
6
7. Mýty o MySQL
• Komerční projekty musí mít placenou verzi
– Pokud distribuuji program linkující MySQL, tak musí
být pod GPL nebo musí použít placenou verzi
– Nezáleží na tom, jestli je komerční nebo ne
– Když program nedistribuuji, lze použít jakoukoliv verzi
– Placená verze má další výhody (podpora, nástroje)
7
8. Mýty o MySQL
• MySQL je nekvalitní a špatně dokumentované
– Nová verze vycházela jen pokud měla 0 známých chyb
– Teď alespoň 0 závažných chyb
– Všechny nové vlastnosti musí mít dokumentaci
– Nedokumentované vlastnosti opravdu neexistují
8
9. Příjemné vlastnosti
• Vynikající podpora kódování a porovnávání
– Kódování uložených dat
– Kódování posílaných a vracených dat
– Každému sloupci lze nastavit vlastní porovnávání
9
10. Příjemné vlastnosti
• Snadné vytvoření umělého primárního klíče
– Sloupec s příznakem AUTO_INCREMENT
– Není potřeba pracovat se sekvencemi
– Sekvence se ale dají emulovat
10
11. Příjemné vlastnosti
• Automatický čas modifikace záznamu
– Výborně se hodí pro HTTP cachování
– Sloupec typu timestamp
– Aktualizace ze závislých tabulek pomocí triggeru
11
12. Příjemné vlastnosti
• Změna záznamu při konfliktu unikátního klíče
– INSERT INTO ... ON DUPLICATE KEY UPDATE
– Hodí se např. na čtenost článků po dnech
– Dá se použít i pro vložení do číselníku
12
13. Příjemné vlastnosti
• Agregační funkce GROUP_CONCAT
– Spojí jednotlivé prvky skupiny do řetězce
– Oddělovač a pořadí se dá nastavit
– Dá se použít např. pro výpis článků s jejich tagy
13
14. Příjemné vlastnosti
• Fulltextové vyhledávání
– Respektuje kódování dat
– Umí vracet relevanci záznamu
– Dovoluje používat základní operátory
14
15. Příjemné vlastnosti
• Replikace
– Automatická asynchronní kopie databáze
– Lze použít pro zálohování a rozkládání zátěže
– Master-master replikace se dá použít i pro fail-over
15
16. Nabídka Gopas školení
• MySQL – jazyk SQL
– 10. – 12. 6. 2009
– 1. – 3. 7. 2009
• MySQL2 – praktické využití a administrace
– 20. – 22. 7. 2009
16
17. Nabídka oficiálních školení
• Kurzy pro vývojáře
– MySQL pro začátečníky
– MySQL pro vývojáře
– MySQL a PHP
– Nové vlastnosti MySQL 5
– Uložené procedury
• Certifikace
17
18. Nabídka oficiálních školení
• Kurzy pro administrátory
– MySQL pro začátečníky
– MySQL pro správce databáze
– Ladění výkonu MySQL
– Vysoká dostupnost MySQL
– MySQL Cluster
• Certifikace
18