وبلاگ بلیان

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

معرفی کتاب «Wysoko wydajne MySQL. Optymalizacja, archiwizacja, replikacja. Wydanie II» نوشتهٔ Baron Schwartz, Peter Zaitsev, Vadim Tkachenko,Jeremy D. Zawodny, Arjen Lentz, Derek J. Balling، منتشرشده توسط نشر Helion / O’Reilly در سال 2009. این کتاب در فرمت pdf، زبان pl ارائه شده است.

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 Spis treści......Page 3 Przedmowa......Page 7 Wprowadzenie......Page 9 W jaki sposób zorganizowana jest książka?......Page 10 Wersje oprogramowania i dostępność......Page 13 Używanie przykładowych kodów......Page 14 Podziękowania do wydania drugiego......Page 15 Podziękowania do wydania pierwszego......Page 17 Architektura logiczna MySQL......Page 19 Kontrola współbieżności......Page 22 Transakcje......Page 24 Mechanizm Multiversion Concurrency Control......Page 31 Silniki magazynu danych w MySQL......Page 32 2. Określanie wąskich gardeł: testy wydajności i profilowanie......Page 51 Dlaczego warto przeprowadzić testy wydajności?......Page 52 Strategie przeprowadzania testów wydajności......Page 53 Taktyki przeprowadzania testów wydajności......Page 56 Narzędzia do przeprowadzania testów wydajności......Page 61 Przykładowe testy wydajności......Page 64 Profilowanie......Page 73 Profilowanie systemu operacyjnego......Page 95 3. Optymalizacja schematu i indeksowanie......Page 99 Wybór optymalnego rodzaju danych......Page 100 Podstawy indeksowania......Page 115 Strategie indeksowania w celu osiągnięcia maksymalnej wydajności......Page 125 Studium przypadku z zakresu indeksowania......Page 150 Obsługa indeksu oraz tabeli......Page 155 Uwagi dotyczące silników magazynowania danych......Page 168 Podstawy powolnych zapytań: optymalizacja dostępu do danych......Page 171 Sposoby restrukturyzacji zapytań......Page 176 Podstawy wykonywania zapytań......Page 179 Ograniczenia optymalizatora zapytań MySQL......Page 198 Optymalizacja określonego rodzaju zapytań......Page 207 Zmienne zdefiniowane przez użytkownika......Page 217 Bufor zapytań MySQL......Page 223 Przechowywanie kodu wewnątrz MySQL......Page 236 Funkcje zdefiniowane przez użytkownika......Page 248 System kodowania znaków i kolejność sortowania......Page 255 Ograniczenia klucza zewnętrznego......Page 270 Tabele Merge i partycjonowane......Page 271 Transakcje rozproszone (XA)......Page 280 6. Optymalizacja konfiguracji serwera......Page 283 Podstawy konfiguracji......Page 284 Składnia, zasięg oraz dynamizm......Page 285 Ogólne dostrajanie......Page 289 Dostrajanie zachowania operacji I/O w MySQL......Page 299 Dostosowanie współbieżności MySQL......Page 314 7. Optymalizacja systemu operacyjnego i osprzętu......Page 325 W jaki sposób wybrać procesor dla MySQL?......Page 326 Wybór osprzętu komputerowego dla serwera podległego......Page 337 Optymalizacja wydajności macierzy RAID......Page 338 Urządzenia Storage Area Network oraz Network Attached Storage......Page 345 Używanie woluminów składających się z wielu dysków......Page 347 Stan systemu operacyjnego......Page 356 Ogólny opis replikacji......Page 363 Konfiguracja replikacji......Page 367 Szczegóły kryjące się za replikacją......Page 375 Topologie replikacji......Page 382 Replikacja i planowanie pojemności......Page 397 Administracja replikacją i jej obsługa......Page 399 Problemy związane z replikacją i sposoby ich rozwiązywania......Page 409 Jak szybka jest replikacja?......Page 428 9. Skalowalność i wysoka dostępność......Page 431 Terminologia......Page 432 Skalowalność MySQL......Page 434 Wysoka dostępność......Page 469 Ogólny opis wydajności aplikacji......Page 479 Kwestie związane z serwerem WWW......Page 482 11. Kopia zapasowa i odzyskiwanie......Page 495 Ogólny opis......Page 496 Wady i zalety rozwiązania......Page 500 Zarządzanie kopią zapasową binarnych dzienników zdarzeń i jej tworzenie......Page 510 Tworzenie kopii zapasowej danych......Page 512 Odzyskiwanie z kopii zapasowej......Page 523 Szybkość tworzenia kopii zapasowej i odzyskiwania......Page 535 Narzędzia służące do obsługi kopii zapasowej......Page 536 Kopie zapasowe za pomocą skryptów......Page 543 Terminologia......Page 547 Podstawy dotyczące kont......Page 548 Bezpieczeństwo systemu operacyjnego......Page 566 Bezpieczeństwo sieciowe......Page 567 Szyfrowanie danych......Page 575 MySQL w środowisku chroot......Page 579 Zmienne systemowe......Page 581 SHOW STATUS......Page 582 SHOW INNODB STATUS......Page 589 SHOW PROCESSLIST......Page 602 SHOW MUTEX STATUS......Page 603 Stan replikacji......Page 604 INFORMATION_SCHEMA......Page 605 Narzędzia interfejsu......Page 607 Narzędzia monitorowania......Page 609 Narzędzia analizy......Page 619 Narzędzia MySQL......Page 622 Źródła dalszych informacji......Page 625 Kopiowanie plików......Page 627 Testy operacji kopiowania pliku......Page 630 Wywoływanie EXPLAIN......Page 631 Kolumny danych wyjściowych polecenia EXPLAIN......Page 634 Wizualne EXPLAIN......Page 645 Ogólny opis: typowe wyszukiwanie Sphinksa......Page 647 Dlaczego warto używać silnika Sphinx?......Page 650 Ogólny opis architektury......Page 658 Funkcje specjalne......Page 661 Przykłady praktycznej implementacji......Page 667 Podsumowanie......Page 673 Blokada oczekiwania na poziomie serwera......Page 675 Blokady oczekiwania w silnikach magazynów danych......Page 680 Skorowidz......Page 685 O autorach......Page 710 Kolofon......Page 711 Spis treści 3 Przedmowa 7 Wprowadzenie 9 W jaki sposób zorganizowana jest książka? 10 Wersje oprogramowania i dostępność 13 Konwencje zastosowane w książce 14 Używanie przykładowych kodów 14 Podziękowania do wydania drugiego 15 Podziękowania do wydania pierwszego 17 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 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 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. Kopia zapasowa i 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. Stan serwera 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 A. Przesyłanie dużych plików 627 Kopiowanie plików 627 Testy operacji kopiowania pliku 630 B. Używanie polecenia EXPLAIN 631 Wywoływanie EXPLAIN 631 Kolumny danych wyjściowych polecenia EXPLAIN 634 Wizualne EXPLAIN 645 C. Używanie silnika Sphinx w MySQL 647 Ogólny opis: typowe wyszukiwanie Sphinksa 647 Dlaczego warto używać silnika Sphinx? 650 Ogólny opis architektury 658 Funkcje specjalne 661 Przykłady praktycznej implementacji 667 Podsumowanie 673 D. Usuwanie błędów w blokadach 675 Blokada oczekiwania na poziomie serwera 675 Blokady oczekiwania w silnikach magazynów danych 680 Skorowidz 685 O autorach 710 Kolofon 711
دانلود کتاب Wysoko wydajne MySQL. Optymalizacja, archiwizacja, replikacja. Wydanie II