Wysoko_wydajne_MySQL_Optymalizacja_archiwizacja_replikacja_Wydanie_II_wydmsq.pdf

(638 KB) Pobierz
Wysoko wydajne MySQL.
Optymalizacja, archiwizacja,
replikacja. Wydanie II
Autor: Baron Schwartz, Peter Zaitsev, Vadim Tkachenko,
Jeremy D. Zawodny, Arjen Lentz, Derek J. Balling
T³umaczenie: Robert Górczyñski
ISBN: 978-83-246-2055-5
Tytu³ orygina³u:
High Performance MySQL:
Optimization, Backups, Replication, and More, 2nd edition
Format: 168x237, stron: 712
Poznaj zaawansowane techniki i nieznane mo¿liwoœci MySQL!
Jak za pomoc¹ MySQL budowaæ szybkie i niezawodne systemy?
Jak przeprowadzaæ testy wydajnoœci?
Jak optymalizowaæ zaawansowane funkcje zapytañ?
MySQL jest ci¹gle udoskonalanym i rozbudowywanym oprogramowaniem. Stale
zwiêksza siê tak¿e liczba jego u¿ytkowników, wœród których nie brak wielkich
korporacji. Wynika to z niezawodnoœci i ogromnej, wci¹¿ rosn¹cej wydajnoœci tego
systemu zarz¹dzania. MySQL sprawdza siê tak¿e w bardzo wymagaj¹cych
œrodowiskach, na przyk³ad aplikacjach sieciowych, ze wzglêdu na du¿¹ elastycznoœæ
i mo¿liwoœci, takie jak zdolnoœæ wczytywania silników magazynu danych jako
rozszerzeñ w trakcie dzia³ania bazy.
Ksi¹¿ka
„Wysoko
wydajne MySQL. Optymalizacja, archiwizacja, replikacja. Wydanie II”
szczegó³owo prezentuje zaawansowane techniki, dziêki którym mo¿na w pe³ni
wykorzystaæ ca³y potencja³, drzemi¹cy w MySQL. Omówiono w niej praktyczne,
bezpieczne i pozwalaj¹ce na osi¹gniêcie du¿ej wydajnoœci sposoby skalowania
aplikacji. Z tego przewodnika dowiesz siê, w jaki sposób projektowaæ schematy,
indeksy i zapytania. Poznasz tak¿e zaawansowane funkcje MySQL, pozwalaj¹ce na
uzyskanie maksymalnej wydajnoœci. Nauczysz siê tak dostrajaæ serwer MySQL, system
operacyjny oraz osprzêt komputerowy, aby wykorzystywaæ pe³niê ich mo¿liwoœci.
Architektura MySQL
Testy wydajnoœci i profilowanie
Optymalizacja schematu i indeksowanie
Optymalizacja wydajnoœci zapytañ
Przechowywanie kodu
Umieszczanie komentarzy w kodzie sk³adowym
Konfiguracja serwera
Dostrajanie i optymalizacja wyszukiwania pe³notekstowego
Skalowalnoœæ i wysoka dostêpnoœæ
WydajnoϾ aplikacji
Kopia zapasowa i odzyskiwanie
Interfejs SQL dla poleceñ spreparowanych
Bezpieczeñstwo
Twórz doskonale dostrojone aplikacje MySQL
Spis treści
Przedmowa .................................................................................................................... 7
Wprowadzenie ..............................................................................................................9
1. Architektura MySQL .................................................................................................... 19
Architektura logiczna MySQL
Kontrola współbieżności
Transakcje
Mechanizm Multiversion Concurrency Control
Silniki magazynu danych w MySQL
19
22
24
31
32
2. Określanie wąskich gardeł: testy wydajności i profilowanie .................................... 51
Dlaczego warto przeprowadzić testy wydajności?
Strategie przeprowadzania testów wydajności
Taktyki przeprowadzania testów wydajności
Narzędzia do przeprowadzania testów wydajności
Przykładowe testy wydajności
Profilowanie
Profilowanie systemu operacyjnego
52
53
56
61
64
73
95
3. Optymalizacja schematu i indeksowanie ...................................................................99
Wybór optymalnego rodzaju danych
Podstawy indeksowania
Strategie indeksowania w celu osiągnięcia maksymalnej wydajności
Studium przypadku z zakresu indeksowania
Obsługa indeksu oraz tabeli
Uwagi dotyczące silników magazynowania danych
100
115
125
150
155
168
3
4. Optymalizacja wydajności zapytań ........................................................................... 171
Podstawy powolnych zapytań: optymalizacja dostępu do danych
Sposoby restrukturyzacji zapytań
Podstawy wykonywania zapytań
Ograniczenia optymalizatora zapytań MySQL
Optymalizacja określonego rodzaju zapytań
Zmienne zdefiniowane przez użytkownika
171
176
179
198
207
217
5. Zaawansowane funkcje MySQL ................................................................................223
Bufor zapytań MySQL
Przechowywanie kodu wewnątrz MySQL
Funkcje zdefiniowane przez użytkownika
System kodowania znaków i kolejność sortowania
Ograniczenia klucza zewnętrznego
Tabele Merge i partycjonowane
Transakcje rozproszone (XA)
223
236
248
255
270
271
280
6. Optymalizacja konfiguracji serwera .........................................................................283
Podstawy konfiguracji
Składnia, zasięg oraz dynamizm
Ogólne dostrajanie
Dostrajanie zachowania operacji I/O w MySQL
Dostosowanie współbieżności MySQL
284
285
289
299
314
7. Optymalizacja systemu operacyjnego i osprzętu ....................................................325
Co ogranicza wydajność MySQL?
W jaki sposób wybrać procesor dla MySQL?
Wybór osprzętu komputerowego dla serwera podległego
Optymalizacja wydajności macierzy RAID
Urządzenia Storage Area Network oraz Network Attached Storage
Używanie woluminów składających się z wielu dysków
Stan systemu operacyjnego
326
326
337
338
345
347
356
8. Replikacja ...................................................................................................................363
Ogólny opis replikacji
Konfiguracja replikacji
Szczegóły kryjące się za replikacją
Topologie replikacji
Replikacja i planowanie pojemności
Administracja replikacją i jej obsługa
Problemy związane z replikacją i sposoby ich rozwiązywania
Jak szybka jest replikacja?
4
|
Spis treści
363
367
375
382
397
399
409
428
9. Skalowalność i wysoka dostępność .......................................................................... 431
Terminologia
Skalowalność MySQL
Wysoka dostępność
432
434
469
10. Optymalizacja na poziomie aplikacji ........................................................................479
Ogólny opis wydajności aplikacji
Kwestie związane z serwerem WWW
479
482
11. Kopia zapasowa i odzyskiwanie ...............................................................................495
Ogólny opis
Wady i zalety rozwiązania
Zarządzanie kopią zapasową binarnych dzienników zdarzeń i jej tworzenie
Tworzenie kopii zapasowej danych
Odzyskiwanie z kopii zapasowej
Szybkość tworzenia kopii zapasowej i odzyskiwania
Narzędzia służące do obsługi kopii zapasowej
Kopie zapasowe za pomocą skryptów
496
500
510
512
523
535
536
543
12. Bezpieczeństwo .........................................................................................................547
Terminologia
Podstawy dotyczące kont
Bezpieczeństwo systemu operacyjnego
Bezpieczeństwo sieciowe
Szyfrowanie danych
MySQL w
środowisku
chroot
547
548
566
567
575
579
13. Stan serwera MySQL ................................................................................................. 581
Zmienne systemowe
SHOW STATUS
SHOW INNODB STATUS
SHOW PROCESSLIST
SHOW MUTEX STATUS
Stan replikacji
INFORMATION_SCHEMA
581
582
589
602
603
604
605
14. Narzędzia zapewniające wysoką wydajność ........................................................... 607
Narzędzia interfejsu
Narzędzia monitorowania
Narzędzia analizy
Narzędzia MySQL
Źródła
dalszych informacji
607
609
619
622
625
Spis treści
|
5
A Przesyłanie dużych plików ........................................................................................ 627
B Używanie polecenia EXPLAIN ................................................................................... 631
C Używanie silnika Sphinx w MySQL ...........................................................................647
D Usuwanie błędów w blokadach ................................................................................ 675
Skorowidz ..................................................................................................................685
6
|
Spis treści
Zgłoś jeśli naruszono regulamin