Promocja!

WYDAJNA PRACA Z MYSQL EFEKTYWNE I BEZPIECZNE ZARZĄDZANIE BAZAMI DANYCH

Original price was: 89.00zł.Current price is: 80.08zł.

Na stanie

Efektywny MySQL

To książka skierowana do programistów, którzy znają podstawy MySQL, choć niekoniecznie na zaawansowanym poziomie, i chcą zgłębić wiedzę na temat tej technologii, aby móc z niej korzystać w maksymalnie wydajny sposób. Stawia na naukę efektywności pracy – pokazuje i objaśnia rozwiązania pozwalające na szybkie i proste posługiwanie się relacyjnymi bazami danych. Co ważne, treść została zilustrowana wieloma przykładami dotyczącymi różnych elementów i mechanizmów MySQL, których zastosowanie umożliwia wysyłanie do bazy danych zoptymalizowanych zapytań.

Daniel Nichter prezentuje dobre praktyki, po które warto sięgać, aby tworzyć wydajny kod. Korzystając z wieloletniego doświadczenia w pracy z relacyjnymi bazami danych, podaje gotowe rozwiązania wraz z wyjaśnieniami umożliwiającymi wysyłanie nawet skomplikowanych zapytań przy minimalnym obciążeniu serwera. To cenne źródło wiedzy niezbędnej do szybkiej nauki praktycznego zastosowania MySQL.

W książce między innymi:

przykłady kodu i jego zastosowania
porady dotyczące tworzenia szybkich zapytań generujących jak najmniejsze obciążenie serwera
opisy narzędzi i mechanizmów do diagnostyki i optymalizacji działania baz danych MySQL

Wprowadzenie

Rozdział 1. Czas udzielenia odpowiedzi na zapytanie

  • Prawdziwa historia błędnie pojętej wydajności działania
  • Gwiazda polarna
  • Raport dotyczący zapytania
    • Źródła
    • Agregacja
    • Raportowanie
  • Analiza zapytania
    • Wskaźniki zapytania
    • Metadane i aplikacja
    • Wartości względne
    • Średnia, percentyle i maksimum
  • Poprawienie czasu udzielenia odpowiedzi na zapytanie
    • Bezpośrednia optymalizacja zapytania
    • Pośrednia optymalizacja zapytania
  • Kiedy optymalizować zapytania?
    • Wydajność działania wpływa na klienta
    • Przed wprowadzeniem i po wprowadzeniu zmiany w kodzie
    • Raz w miesiącu
  • Większa wydajność działania MySQL
  • Podsumowanie
  • Ćwiczenia praktyczne: identyfikacja wolno wykonywanych zapytań

Rozdział 2. Indeksy i indeksowanie

  • Fałszywe tropy dotyczące wydajności działania
    • Lepsze i szybsze komponenty komputera
    • Dostrajanie serwera MySQL
  • Indeksy MySQL – wprowadzenie
    • Tabele InnoDB są indeksami
    • Metody dostępu do tabeli
    • Wymóg w postaci skrajnego lewego prefiksu
    • EXPLAIN – plan wykonywania zapytania
    • Klauzula WHERE
    • Klauzula GROUP BY
    • Klauzula ORDER BY
    • Indeks pokrywający
    • Złączenia tabel
  • Indeksowanie – jak to wygląda z perspektywy serwera MySQL?
    • Poznanie zapytania
    • Zapytanie EXPLAIN
    • Optymalizacja zapytania
    • Wdrażanie i weryfikowanie
  • To był dobry indeks, dopóki.
    • Zmienione zapytania
    • Nadmierne, powielone i nieużywane
    • Wyjątkowa selektywność
    • To pułapka (gdy MySQL wybiera inny indeks)
  • Algorytmy złączania tabel
  • Podsumowanie
  • Ćwiczenia praktyczne: wyszukiwanie powielonych indeksów

Rozdział 3. Dane

  • Trzy tajemnice
    • Indeksy niekoniecznie okażą się pomocne
    • Im mniej danych, tym lepiej
    • Im mniej QPS, tym lepiej
  • Reguła najmniejszej ilości danych
    • Dostęp do danych
    • Magazyn danych
  • Usunięcie lub zarchiwizowanie danych
    • Narzędzia
    • Wielkość operacji hurtowej
    • Rywalizacja o blokadę rekordu
    • Pamięć masowa i czas
    • Paradoks binarnego dziennika zdarzeń
  • Podsumowanie
  • Ćwiczenia praktyczne: audyt dostępu do danych zapytania

Rozdział 4. Wzorce dostępu

  • MySQL nic nie robi
  • Destabilizacja wydajności działania po osiągnięciu wartości granicznej
  • Toyota i Ferrari
  • Wzorce dostępu do danych
    • Odczyt i zapis
    • Przepustowość
    • Wiek danych
    • Model danych
    • Izolacja transakcji
    • Spójność odczytu
    • Współbieżność
    • Dostęp do rekordów
    • Zbiór wynikowy
  • Zmiany w aplikacji
    • Audyt kodu
    • Przekazywanie operacji odczytu
    • Kolejkowanie operacji zapisu
    • Partycjonowanie danych
    • Nie używaj MySQL
  • Lepsze i szybsze komponenty komputera
  • Podsumowanie
  • Ćwiczenia praktyczne: opisz wzorce dostępu

Rozdział 5. Sharding

  • Dlaczego pojedyncza baza danych nie skaluje się zbyt dobrze?
    • Obciążenie aplikacji
    • Testy wydajności są syntetyczne
    • Zapis
    • Zmiana schematu
    • Operacje
  • Kamyki, nie głazy
  • Sharding – krótkie wprowadzenie
    • Klucz shardingu
    • Strategie
    • Wyzwania
  • Alternatywy dla shardingu
    • NewSQL
    • Oprogramowanie pośredniczące
    • Mikrousługi
    • Nie używaj MySQL
  • Podsumowanie
  • Ćwiczenia praktyczne: plan czteroletni

Rozdział 6. Wskaźniki serwera

  • Wydajność działania zapytania kontra wydajność działania serwera
  • Normalna i stabilna – najlepsza baza danych to nudna baza danych
  • Kluczowe wskaźniki wydajności działania
  • Dziedzina wskaźników
    • Czas udzielenia odpowiedzi
    • Współczynniki
    • Poziom użycia
    • Oczekiwanie
    • Błąd
    • Wzorce dostępu
    • Wskaźniki wewnętrzne
  • Spektra
    • Czas udzielenia odpowiedzi
    • Błędy
    • Zapytania
    • Wątki i połączenia
    • Obiekty tymczasowe
    • Polecenia składowane
    • Nieprawidłowe polecenie SELECT
    • Przepustowość sieci
    • Replikacja
    • Wielkość danych
    • InnoDB
  • Monitorowanie i ostrzeganie
    • Rozdzielczość
    • Szukanie wiatru w polu (wartości progowe)
    • Informowanie o ograniczeniach
    • Przyczyna i skutek
  • Podsumowanie
  • Ćwiczenia praktyczne: analiza kluczowych wskaźników wydajności działania
  • Ćwiczenia praktyczne: analiza wartości progowych i komunikatów ostrzeżeń

Rozdział 7. Opóźnienie replikacji

  • Podstawy
    • Źródło do repliki
    • Zdarzenia binarnego dziennika zdarzeń
    • Opóźnienie replikacji
  • Podstawowe przyczyny opóźnienia replikacji
    • Przepustowość transakcji
    • Odtwarzanie po awarii
    • Problemy z siecią
  • Niebezpieczeństwo – utrata danych
    • Replikacja asynchroniczna
    • Replikacja półsynchroniczna
    • Zmniejszenie opóźnienia replikacji – replikacja wielowątkowa
  • Monitorowanie
  • Czas odzyskiwania
  • Podsumowanie
  • Ćwiczenia praktyczne: monitorowanie opóźnienia krótszego niż 1 sekunda

Rozdział 8. Transakcje

  • Nakładanie blokad na rekordy
    • Blokada rekordu indeksu i następnego klucza
    • Blokady luk
    • Indeksy wtórne
    • Blokada zamiaru wstawienia
  • MVCC i dzienniki przywracania
  • Wielkość listy historii
  • Najczęściej pojawiające się problemy
    • Ogromne transakcje (wielkość transakcji)
    • Długo wykonywane transakcje
    • Transakcje przeciągające się
    • Transakcje porzucone
  • Zgłaszanie problemów
    • Aktywne transakcje – najnowsze
    • Aktywne transakcje – podsumowanie
    • Aktywna transakcja – historia
    • Transakcje zatwierdzone – podsumowanie
  • Podsumowanie
  • Ćwiczenia praktyczne: ostrzeżenie dotyczące wielkości listy historii
  • Ćwiczenia praktyczne: analiza blokad rekordów

Rozdział 9. Inne wyzwania

  • Niespójność danych to ogromne zagrożenie
  • Oddalanie się danych jest faktem, ale pozostaje niewidoczne
  • Nie ufaj mapowaniu obiektowo-relacyjnemu
  • Schematy zawsze się zmieniają
  • MySQL rozszerza standard SQL
  • Hałaśliwi sąsiedzi
  • Aplikacja nie kończy elegancko pracy
  • Wysoka wydajność działania MySQL jest trudna do osiągnięcia
  • Ćwiczenia praktyczne: identyfikacja sposobów zabezpieczających przed niespójnością danych
  • Ćwiczenia praktyczne: sprawdzenie pod kątem oddalania się danych
  • Ćwiczenia praktyczne: chaos

Rozdział 10. MySQL w chmurze

  • Zgodność
  • Zarządzanie (DBA)
  • Opóźnienie. sieci i pamięci masowej
  • Wydajność działania to pieniądze
  • Podsumowanie
  • Ćwiczenia praktyczne: wypróbowanie MySQL w chmurze

 

ISBN

978-83-283-9290-8

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „WYDAJNA PRACA Z MYSQL EFEKTYWNE I BEZPIECZNE ZARZĄDZANIE BAZAMI DANYCH”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *