MySQL. Mechanizmy wewnętrzne bazy danych - ebook
MySQL. Mechanizmy wewnętrzne bazy danych - ebook
Poznaj sekrety jednej z najpopularniejszych baz danych
- Jak przechowywane są dane?
- Jak dodawać własne zmienne konfiguracyjne?
- Jak przebiega proces replikacji?
MySQL to obecnie jedna z najpopularniejszych baz danych. Jedną z jej największych zalet jest nieodpłatny dostęp zarówno do samego systemu, jak i do jego kodu źródłowego. Możliwość przeglądania kodu i -- w razie potrzeby -- samodzielnego modyfikowania go może okazać się przydatna programistom tworzącym aplikacje, które korzystają z MySQL jako zaplecza bazodanowego. Jednak samodzielne "przegryzanie się" przez setki tysięcy linii kodu i rozpracowywanie mechanizmów działania bazy danych może zająć mnóstwo czasu.
Dzięki tej książce poznasz kod źródłowy i sposób działania tego narzędzia. Autor, przez wiele lat pracujący w zespole tworzącym MySQL, przedstawia w niej tajniki systemu. Podczas czytania poznasz architekturę i wzajemne powiązania pomiędzy komponentami MySQL, strukturę kodu źródłowego oraz metody modyfikowania go przez kompilacją. Dowiesz się także, jak przebiega komunikacja pomiędzy klientem i serwerem bazy danych, jak realizowane są zapytania, w jaki sposób składowane są dane i jak implementowane są mechanizmy replikacji.
- Architektura MySQL
- Struktura kodu źródłowego
- Komunikacja pomiędzy klientem i serwerem
- Zmienne konfiguracyjne
- Obsługa żądań
- Parser i optymalizator zapytań
- Mechanizmy składowania danych
- Replikacja danych
Dzięki tej książce zrozumiesz budowę bazy danych MySQL i będziesz w stanie samodzielnie dostosować ją do każdego zadania.
Spis treści
Przedmowa (9)
1. Historia i architektura MySQL (15)
- Historia MySQL (15)
- Architektura MySQL (17)
2. Praca z kodem źródłowym MySQL (31)
- Powłoka Uniksa (31)
- BitKeeper (31)
- Przygotowywanie systemu do budowania MySQL z drzewa BitKeepera (34)
- Budowanie MySQL z drzewa BitKeepera (35)
- Budowanie z dystrybucji źródłowej (37)
- Instalowanie MySQL w katalogu systemowym (38)
- Układ katalogów z kodem źródłowym (38)
- Przygotowywanie systemu do uruchomienia MySQL w debugerze (40)
- Wycieczka po kodzie źródłowym w towarzystwie debugera (40)
- Podstawy pracy z gdb (41)
- Wyszukiwanie definicji w kodzie źródłowym (44)
- Interesujące punkty wstrzymania i zmienne (45)
- Modyfikowanie kodu źródłowego (45)
- Wskazówki dla koderów (47)
- Aktualizowanie repozytorium BitKeepera (50)
- Zgłaszanie poprawki (51)
3. Podstawowe klasy, struktury, zmienne i interfejsy API (53)
- THD (53)
- NET (58)
- TABLE (58)
- Field (58)
- Narzędziowe wywołania API (65)
- Makra preprocesora (68)
- Zmienne globalne (70)
4. Komunikacja między klientem a serwerem (73)
- Przegląd protokołu (73)
- Format pakietu (73)
- Relacje między protokołem MySQL a warstwą systemu operacyjnego (74)
- Uzgadnianie połączenia (75)
- Pakiet polecenia (80)
- Odpowiedzi serwera (83)
5. Zmienne konfiguracyjne (89)
- Zmienne konfiguracyjne: samouczek (89)
- Interesujące aspekty konkretnych zmiennych konfiguracyjnych (96)
6. Wątkowa obsługa żądań (115)
- Wątki kontra procesy (115)
- Implementacja obsługi żądań (117)
- Problemy programowania wątkowego (121)
7. Interfejs mechanizmów składowania (127)
- Klasa handler (127)
- Dodawanie własnego mechanizmu składowania do MySQL (142)
8. Dostęp współbieżny i blokowanie (163)
- Menedżer blokad tabel (164)
9. Parser i optymalizator (169)
- Parser (169)
- Optymalizator (172)
10. Mechanizmy składowania (195)
- Wspólne cechy architektury (196)
- MyISAM (196)
- InnoDB (202)
- Memory (Heap) (204)
- MyISAM Merge (205)
- NDB (205)
- Archive (206)
- Federated (207)
11. Transakcje (209)
- Implementowanie transakcyjnego mechanizmu składowania (209)
- Implementowanie podklasy handler (210)
- Definiowanie handlertona (212)
- Praca z pamięcią podręczną zapytań (214)
- Praca z binarnym dziennikiem replikacji (214)
- Unikanie zakleszczeń (215)
12. Replikacja (217)
- Przegląd (217)
- Replikacja oparta na instrukcjach i na wierszach (218)
- Dwuwątkowy serwer podrzędny (219)
- Konfiguracja z wieloma serwerami nadrzędnymi (219)
- Polecenia SQL ułatwiające zrozumienie replikacji (220)
- Format dziennika binarnego (223)
- Tworzenie własnego narzędzia do replikacji (227)
Skorowidz (229)
Kategoria: | Bazy danych |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-6197-8 |
Rozmiar pliku: | 2,7 MB |