Wysoko wydajne MySQL. Optymalizacja, archiwizacja, replikacja. Wydanie II.pdf

(19572 KB) Pobierz
664888940 UNPDF
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 :
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
664888940.001.png 664888940.002.png
Spis treści
Przedmowa .................................................................................................................... 7
Wprowadzenie .............................................................................................................. 9
1. Architektura MySQL .................................................................................................... 19
Architektura logiczna MySQL
19
Kontrola współbieżności
22
Transakcje
24
Mechanizm Multiversion Concurrency Control
31
Silniki magazynu danych w MySQL
32
2. Określanie wąskich gardeł: testy wydajności i profilowanie .................................... 51
Dlaczego warto przeprowadzić testy wydajności?
52
Strategie przeprowadzania testów wydajności
53
Taktyki przeprowadzania testów wydajności
56
Narzędzia do przeprowadzania testów wydajności
61
Przykładowe testy wydajności
64
Profilowanie
73
Profilowanie systemu operacyjnego
95
3. Optymalizacja schematu i indeksowanie ................................................................... 99
Wybór optymalnego rodzaju danych
100
Podstawy indeksowania
115
Strategie indeksowania w celu osiągnięcia maksymalnej wydajności
125
Studium przypadku z zakresu indeksowania
150
Obsługa indeksu oraz tabeli
155
Uwagi dotyczące silników magazynowania danych
168
3
664888940.003.png
4. Optymalizacja wydajności zapytań ........................................................................... 171
Podstawy powolnych zapytań: optymalizacja dostępu do danych
171
Sposoby restrukturyzacji zapytań
176
Podstawy wykonywania zapytań
179
Ograniczenia optymalizatora zapytań MySQL
198
Optymalizacja określonego rodzaju zapytań
207
Zmienne zdefiniowane przez użytkownika
217
5. Zaawansowane funkcje MySQL ................................................................................ 223
Bufor zapytań MySQL
223
Przechowywanie kodu wewnątrz MySQL
236
Funkcje zdefiniowane przez użytkownika
248
System kodowania znaków i kolejność sortowania
255
Ograniczenia klucza zewnętrznego
270
Tabele Merge i partycjonowane
271
Transakcje rozproszone (XA)
280
6. Optymalizacja konfiguracji serwera .........................................................................283
Podstawy konfiguracji
284
Składnia, zasięg oraz dynamizm
285
Ogólne dostrajanie
289
Dostrajanie zachowania operacji I/O w MySQL
299
Dostosowanie współbieżności MySQL
314
7. Optymalizacja systemu operacyjnego i osprzętu .................................................... 325
Co ogranicza wydajność MySQL?
326
W jaki sposób wybrać procesor dla MySQL?
326
Wybór osprzętu komputerowego dla serwera podległego
337
Optymalizacja wydajności macierzy RAID
338
Urządzenia Storage Area Network oraz Network Attached Storage
345
Używanie woluminów składających się z wielu dysków
347
Stan systemu operacyjnego
356
8. Replikacja ...................................................................................................................363
Ogólny opis replikacji
363
Konfiguracja replikacji
367
Szczegóły kryjące się za replikacją
375
Topologie replikacji
382
Replikacja i planowanie pojemności
397
Administracja replikacją i jej obsługa
399
Problemy związane z replikacją i sposoby ich rozwiązywania
409
Jak szybka jest replikacja?
428
4 |
Spis treści
9. Skalowalność i wysoka dostępność .......................................................................... 431
Terminologia
432
Skalowalność MySQL
434
Wysoka dostępność
469
10. Optymalizacja na poziomie aplikacji ........................................................................ 479
Ogólny opis wydajności aplikacji
479
Kwestie związane z serwerem WWW
482
11. Kopiazapasowai odzyskiwanie ...............................................................................495
Ogólny opis
496
Wady i zalety rozwiązania
500
Zarządzanie kopią zapasową binarnych dzienników zdarzeń i jej tworzenie
510
Tworzenie kopii zapasowej danych
512
Odzyskiwanie z kopii zapasowej
523
Szybkość tworzenia kopii zapasowej i odzyskiwania
535
Narzędzia służące do obsługi kopii zapasowej
536
Kopie zapasowe za pomocą skryptów
543
12. Bezpieczeństwo ......................................................................................................... 547
Terminologia
547
Podstawy dotyczące kont
548
Bezpieczeństwo systemu operacyjnego
566
Bezpieczeństwo sieciowe
567
Szyfrowanie danych
575
MySQL w środowisku chroot
579
13. Stanserwera MySQL ................................................................................................. 581
Zmienne systemowe
581
SHOW STATUS
582
SHOW INNODB STATUS
589
SHOW PROCESSLIST
602
SHOW MUTEX STATUS
603
Stan replikacji
604
INFORMATION_SCHEMA
605
14. Narzędzia zapewniające wysoką wydajność ........................................................... 607
Narzędzia interfejsu
607
Narzędzia monitorowania
609
Narzędzia analizy
619
Narzędzia MySQL
622
Źródła dalszych informacji
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 Usuwaniebłędów w blokadach ................................................................................ 675
Skorowidz ..................................................................................................................685
6 |
Spis treści
Zgłoś jeśli naruszono regulamin