Rozdělení dat Dataspolu nesmí nijak souviset Ne vždy lze zajistit Noví uživatelé bývají aktivnější 20 % uživatelů vytváří 80 % provozu Je potřeba zajistit zálohování a redundanci
Replikace Automatická asynchronníkopie dat Hlídat funkčnost Dotazy INSERT INTO db . table se nereplikují Zápis na slave s konfliktem primárního klíče Na slave zapisuje pouze jedno vlákno SHOW MASTER STATUS MASTER_POS_WAIT ()
Master-master replikace Čteníi zápis lze provádět kdekoliv Slave nereplikuje jím vytvořená data Prakticky možné od MySQL 5 auto_increment_increment auto_increment_offset
MySQL Cluster Čekáse na zápis dat na všech uzlech Nový uzel se nedá přidat on-line Úložiště NDB Není k dispozici pro Windows Data jen v paměti (v 5.1 alespoň indexovaná) Není podporován typ varchar (před 5.1) Transakce ano, cizí klíče ne
12.
Zálohování On-line zálohaReplikace ( mysqlbinlog ) Off-line záloha mysqldump mysqlhotcopy (MyISAM) InnoDB Hot Backup (390 € / rok) Zastavit server a zkopírovat soubory
Optimalizace aplikace Nejdůležitějšíjsou indexy – EXPLAIN Přizpůsobení struktury databáze Hierarchické struktury Jazykové verze Dopočítávané sloupce – triggery Spojování tabulek místo více dotazů Vázání proměnných obvykle zdržuje S persistentním připojením jsou problémy
15.
Kontakt Školení JakubaVrány 1.12.2008: Návrh a používání MySQL databáze 9.12.2008: Výkonnost webových aplikací PHP triky: http://php.vrana.cz E-mail: [email_address]