Wysoko wydajne MySQL. Sprawdzone strategie dzia - Helion
Tytuł oryginału: High Performance MySQL: Proven Strategies for Operating at Scale, 4th Edition
TÅ‚umaczenie: Robert G
ISBN: 978-83-283-9295-3
stron: 368, Format: ebook
Księgarnia: Helion
Cena książki: 89,00 zł
Książka będzie dostępna od września 2022
MySQL od lat jest najbardziej znan
Zobacz także:
- SQL. Kurs video. Kompendium wiedzy na podstawie MySQL 159,00 zł, (63,60 zł -60%)
- PHP i MySQL. Kurs video. Tw 149,00 zł, (67,05 zł -55%)
- MySQL. Kurs video. Od podstaw do zagadnień zaawansowanych. Tworzenie i analizowanie baz danych 59,00 zł, (26,55 zł -55%)
- Wydajna praca z MySQL. Efektywne i bezpieczne zarz 89,00 zł, (44,50 zł -50%)
- MySQL. Jak zaprojektowa 129,00 zł, (64,50 zł -50%)
Spis treści
Wysoko wydajne MySQL. Sprawdzone strategie działania na dużą skalę. Wydanie IV eBook -- spis treści
Przedmowa
Wprowadzenie
Rozdział 1. Architektura MySQL
- Architektura logiczna MySQL
- Zarządzanie połączeniami i bezpieczeństwo
- Optymalizacja i wykonywanie zapytań
- Kontrola wspóÅ‚bieżnoÅ›ci
- Blokady odczytu (zapisu)
- Zasięg działania blokad
- Transakcje
- Poziomy izolacji
- Zakleszczenia
- Rejestrowanie zdarzeń transakcji
- Transakcje w MySQL
- Mechanizm Multiversion Concurrency Control
- Replikacja
- Struktura plików danych
- Silnik InnoDB
- Obsługa dokumentu JSON
- Zmiany w słowniku danych
- Niepodzielne operacje typu DDL
- Podsumowanie
Rozdział 2. Monitorowanie w świecie inżynierii niezawodności
- WpÅ‚yw inżynierii niezawodnoÅ›ci na zespoÅ‚y administratorów baz danych
- Definiowanie celów poziomu usÅ‚ugi
- Co spowoduje zadowolenie klientów?
- Co należy mierzyć?
- Definiowanie SLI i SLO
- RozwiÄ…zania w zakresie monitorowania
- Monitorowanie dostępności
- Monitorowanie opóźnienia zapytania
- Monitorowanie pod kÄ…tem bÅ‚Ä™dów
- Monitorowanie proaktywne
- Pomiar długoterminowej wydajności działania
- Poznanie rytmu pracy firmy
- Efektywne Å›ledzenie wskaźników
- Stosowanie narzędzi monitorowania do analizy wydajności działania
- Stosowanie SLO do przygotowania architektury danych
- Podsumowanie
Rozdział 3. Funkcjonalność Performance Schema
- Wprowadzenie do Performance Schema
- Elementy instrumentu
- Organizacja konsumenta
- Wykorzystanie zasobów
- Ograniczenia
- Schemat sys
- Poznajemy wÄ…tki
- Konfiguracja
- Włączanie i wyłączanie Performance Schema
- Włączanie i wyłączanie instrumentacji
- WÅ‚Ä…czanie i wyÅ‚Ä…czanie konsumentów
- Dostrajanie monitorowania okreÅ›lonych obiektów
- Dostrajanie monitorowania wÄ…tków
- Dostosowywanie wielkości pamięci dla Performance Schema
- Wartości domyślne
- Stosowanie Performance Schema
- Analizowanie zapytań SQL
- Analiza wydajności działania operacji odczytu i zapisu
- Analiza blokad metadanych
- Analiza poziomu użycia pamięci
- Analiza zmiennych
- Analiza najczęściej wystÄ™pujÄ…cych bÅ‚Ä™dów
- Analiza samej funkcjonalności Performance Schema
- Podsumowanie
Rozdział 4. Optymalizacja systemu operacyjnego i osprzętu
- Co ogranicza wydajność MySQL?
- W jaki sposób wybrać procesor dla MySQL?
- Zrównoważenie pamiÄ™ci i zasobów dyskowych
- Buforowanie, odczyt i zapis
- Jaki zestaw roboczy jest odpowiedni dla Ciebie?
- Napęd SSD
- Ogólne omówienie pamiÄ™ci flash
- Mechanizm usuwania nieużytków
- Optymalizacja wydajności macierzy RAID
- Awaria macierzy RAID, odzyskiwanie danych i monitoring
- Konfiguracja macierzy RAID i buforowanie
- Konfiguracja sieciowa
- Wybór systemu plików
- Wybór zarzÄ…dcy kolejki dyskowej
- Przestrzeń wymiany
- Stan systemu operacyjnego
- Inne użyteczne narzędzia
- Podsumowanie
Rozdział 5. Optymalizacja konfiguracji serwera
- Podstawy konfiguracji MySQL
- Składnia, zasięg oraz dynamizm
- Trwałe zmienne systemowe
- Efekt uboczny ustawiania zmiennych
- Planowanie zmiany zmiennej
- Czego nie należy robić?
- Tworzenie pliku konfiguracyjnego MySQL
- Konfiguracja minimalna
- Analizowanie zmiennych stanu serwera MySQL
- Konfiguracja poziomu użycia pamięci
- Ilość pamięci używanej przez każde połączenie
- Rezerwacja pamięci dla systemu operacyjnego
- Pula buforów InnoDB
- Bufor wÄ…tków
- Dostrajanie zachowania operacji I/O w MySQL
- Dziennik zdarzeń transakcji InnoDB
- Bufor dziennika zdarzeń
- Przestrzeń tabel InnoDB
- Dostosowywanie innych opcji I/O
- Dostosowywanie wspóÅ‚bieżnoÅ›ci MySQL
- Ustawienia dotyczące bezpieczeństwa
- Zaawansowane ustawienia InnoDB
- Podsumowanie
Rozdział 6. Projektowanie schematu i zarządzanie nim
- Wybór optymalnego rodzaju danych
- Liczby całkowite
- Liczby rzeczywiste
- CiÄ…gi tekstowe
- Rodzaje danych dla daty i godziny
- Bitowe rodzaje danych
- Dane JSON
- Wybór identyfikatorów
- Dane specjalnego rodzaju
- Kwestie, które trzeba wziąć pod uwagÄ™ podczas projektowania schematu w MySQL
- Zbyt wiele kolumn
- Zbyt wiele złączeń
- Wszechobecne wartości typu ENUM
- Typ ENUM w przebraniu
- Wartość NULL
- ZarzÄ…dzanie schematem
- Zarządzanie schematem jako część platformy przechowywania danych
- Podsumowanie
Rozdział 7. Indeksowanie zapewniające wysoką wydajność
- Podstawy indeksowania
- Rodzaje indeksów
- Zalety indeksów
- Strategie indeksowania w celu osiągnięcia maksymalnej wydajności
- Prefiks indeksu oraz selektywność indeksu
- Indeksy wielokolumnowe
- Wybór odpowiedniej kolejnoÅ›ci kolumn
- Indeksy klastrowane
- Indeksy pokrywajÄ…ce
- Skanowanie indeksu w celu przeprowadzenia sortowania
- Indeksy zbędne i powielone
- Indeksy nieużywane
- Obsługa indeksu oraz tabeli
- Wyszukiwanie i naprawa uszkodzeń tabeli
- Uaktualnianie danych statystycznych indeksu
- Ograniczanie wielkości indeksu i fragmentacji danych
- Podsumowanie
Rozdział 8. Optymalizacja wydajności zapytań
- Dlaczego zapytania sÄ… powolne?
- Podstawy powolnych zapytań: optymalizacja dostępu do danych
- Czy zapytanie bazy danych obejmuje dane, które sÄ… niepotrzebne?
- Czy MySQL analizuje zbyt dużą ilość danych?
- Sposoby restrukturyzacji zapytań
- Zapytanie skomplikowane kontra wiele mniejszych
- Podział zapytania
- Podział złączeń
- Podstawy wykonywania zapytań
- ProtokóÅ‚ klient-serwer MySQL
- Stany zapytania
- Proces optymalizacji zapytania
- Silnik wykonywania zapytań
- Zwrot klientowi wyników zapytania
- Ograniczenia optymalizatora zapytań MySQL
- Ograniczenia klauzuli UNION
- Szerzenie równoÅ›ci
- Wykonywanie równolegÅ‚e
- Równoczesne wykonywanie poleceÅ„ SELECT i UPDATE w tej samej tabeli
- Optymalizacja określonego rodzaju zapytań
- Optymalizacja zapytań COUNT()
- Optymalizacja zapytań typu JOIN
- Optymalizacja zapytań typu GROUP BY WITH ROLLUP
- Optymalizacja zapytań typu LIMIT i OFFSET
- Optymalizacja za pomocÄ… opcji SQL_CALC_FOUND_ROWS
- Optymalizacja klauzuli UNION
- Podsumowanie
Rozdział 9. Replikacja
- Ogólny opis replikacji
- W jaki sposób dziaÅ‚a replikacja?
- SzczegóÅ‚y kryjÄ…ce siÄ™ za replikacjÄ…
- Wybór formatu replikacji
- Globalny identyfikator transakcji
- Zapewnienie replikacji odporności na awarie
- Replikacja opóźniona
- Replikacja wielowÄ…tkowa
- Replikacja póÅ‚synchroniczna
- Filtry replikacji
- Poprawne działanie replikacji pomimo awarii
- Promocja planowana
- Promocja nieplanowana
- Kompromisy zwiÄ…zane z promocjÄ…
- Topologie replikacji
- Aktywny-pasywny
- Aktywny-pula odczytu
- Odradzane topologie
- Ring
- Administracja replikacją i jej obsługa
- Monitorowanie replikacji
- Pomiar opóźnienia replikacji
- OkreÅ›lanie, czy serwer repliki zachowuje spójność z serwerem źródÅ‚a
- Problemy zwiÄ…zane z replikacjÄ… i sposoby ich rozwiÄ…zywania
- Uszkodzenie binarnego dziennika zdarzeÅ„ w źródle
- Nieunikalne identyfikatory serwerów
- Niezdefiniowane identyfikatory serwerów
- BrakujÄ…ce tabele tymczasowe
- Niereplikowanie wszystkich uaktualnień
- Ogromne opóźnienie replikacji
- Zbyt duże pakiety w serwerze źródÅ‚a
- Brak miejsca na dysku
- Ograniczenia replikacji
- Podsumowanie
Rozdział 10. Kopia zapasowa i odzyskiwanie
- Dlaczego kopia zapasowa?
- Definiowanie wymagań procesu odzyskiwania
- Projektowanie rozwiÄ…zania kopii zapasowej MySQL
- Kopia zapasowa online czy offline?
- Logiczna czy bezpośrednia kopia zapasowa?
- Co należy umieszczać w kopii zapasowej?
- Przyrostowa kopia zapasowa
- Replikacja
- ZarzÄ…dzanie kopiÄ… zapasowÄ… binarnych dzienników zdarzeÅ„ i jej tworzenie
- Narzędzia do tworzenia kopii zapasowej i przywracania z niej danych
- MySQL Enterprise Backup
- Percona XtraBackup
- mydumper
- mysqldump
- Tworzenie kopii zapasowej danych
- Tworzenie logicznej kopii zapasowej
- Migawka systemu plików
- Percona XtraBackup
- Odzyskiwanie z kopii zapasowej
- Przywracanie logicznych kopii zapasowych
- Przywracanie bezpoÅ›rednich plików z migawki
- Przywracanie danych za pomocą narzędzia Percona XtraBackup
- Uruchomienie MySQL po przywróceniu bezpoÅ›rednich plików
- Podsumowanie
Rozdział 11. Skalowalność MySQL
- Czym jest skalowanie?
- Obciążenie ograniczone operacjami odczytu kontra obciążenie ograniczone operacjami zapisu
- Analiza obciążenia
- Obciążenie ograniczone operacjami odczytu
- Obciążenie ograniczone operacjami zapisu
- Sharding funkcjonalny
- Skalowanie obciążenia ograniczonego operacjami odczytu
- ZarzÄ…dzanie konfiguracjÄ… dla pul operacji odczytu
- Sprawdzanie stanu puli odczytu
- Algorytmy równoważenia obciążenia
- Kolejkowanie
- Skalowanie zapisu za pomocÄ… shardingu
- Wiele kluczy partycjonowania
- Wykonywanie zapytań między serwerami
- Vitess
- ProxySQL
- Podsumowanie
Rozdział 12. MySQL w chmurze
- ZarzÄ…dzany serwer MySQL
- Amazon Aurora dla MySQL
- GCP Cloud SQL
- MySQL w maszynie wirtualnej
- Rodzaje maszyn wirtualnych w chmurze
- Wybór odpowiedniego typu maszyny
- Wybór odpowiedniego typu dysku
- Wskazówki dodatkowe
- Podsumowanie
Rozdział 13. Zgodność i MySQL
- Co to jest zgodność?
- Service Organization Controls Type 2
- Ustawa Sarbanesa-Oxleya
- Norma bezpieczeństwa Payment Card Industry Data Security Standard
- Ustawa Health Insurance Portability and Accountability Act
- Program FedRAMP
- RozporzÄ…dzenie o ochronie danych osobowych
- Schrems II
- Przygotowanie do kontroli zapewnienia zgodności
- Zarządzanie kluczami tajnymi użytkownika
- RozdziaÅ‚ ról i danych
- Åšledzenie zmian
- Procedury tworzenia kopii zapasowej i przywracania danych
- Podsumowanie
Dodatek A. Uaktualnianie MySQL
- Dlaczego należy uaktualnić serwer MySQL?
- Uaktualnienie cyklu życiowego
- Testowanie uaktualnienia
- Testowanie środowiska programistycznego
- Dokładna kopia danych produkcyjnych
- Replika
- Narzędzia
- Uaktualnienie na dużą skalę
- Podsumowanie
Dodatek B. MySQL w Kubernetesie
- Przygotowanie zasobów za pomocÄ… Kubernetesa
- Staranny wybór celu
- Wybór pÅ‚aszczyzny kontrolnej
- PozostaÅ‚e szczegóÅ‚y
- Podsumowanie