Baza danych od - Helion
Tytuł oryginału: Database Internals: A Deep Dive into How Distributed Data Systems Work
Tłumaczenie: Ma
ISBN: 978-83-289-1332-5
stron: 328, Format: 165x235, okładka: mi
Data wydania: 2024-10-01
Księgarnia: Helion
Cena książki: 80,10 zł (poprzednio: 89,00 zł)
Oszczędzasz: 10% (-8,90 zł)
Nakład wyczerpany
W ci
Zobacz także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- 66,67 zł, (14,00 zł -79%)
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Twoja firma w social mediach. Podr 58,33 zł, (14,00 zł -76%)
Spis treści
Baza danych od środka. Analiza działania rozproszonych systemów danych -- spis treści
Przedmowa
CZĘŚĆ I. Mechanizmy pamięci masowej
1. Wprowadzenie i ogólny zarys
- Architektura DBMS
- Systemy DBMS oparte na pamięci kontra systemy oparte na dyskach
- Trwałość w magazynach opartych na pamięci
- Kolumnowe i wierszowe systemy DBMS
- Wierszowy układ danych
- Kolumnowy układ danych
- Rozróżnienia i optymalizacje
- Magazyny z szerokimi kolumnami
- Pliki danych i pliki indeksowe
- Pliki danych
- Pliki indeksowe
- Indeks główny jako pośrednik
- Buforowanie, niezmienność i porządkowanie
- Podsumowanie
2. Podstawy B-drzew
- Drzewa wyszukiwania binarnego
- Równoważenie drzewa
- Drzewa dla pamięci masowych opartych na dyskach
- Struktury oparte na dyskach
- Dyski twarde
- Dyski półprzewodnikowe
- Struktury na dysku
- Wszechobecne B-drzewa
- Hierarchia B-drzewa
- Klucze oddzielające
- Złożoność przeszukiwania B-drzewa
- Algorytm przeszukiwania B-drzewa
- Liczenie kluczy
- Dzielenie węzłów B-drzewa
- Scalanie węzłów B-drzewa
- Podsumowanie
3. Formaty plików
- Motywacje
- Kodowanie binarne
- Typy podstawowe
- Ciągi znaków i dane o zmiennym rozmiarze
- Dane upakowane bitowo: wartości logiczne, wyliczenia i flagi
- Zasady ogólne
- Struktura strony
- Strony podzielone na obszary
- Układ komórek
- Łączenie komórek w strony podzielone na obszary
- Zarządzanie danymi o zmiennym rozmiarze
- Wersjonowanie
- Sumy kontrolne
- Podsumowanie
4. Implementowanie B-drzew
- Nagłówek strony
- Magiczne liczby
- Powiązania między rodzeństwem
- Skrajne prawe wskaźniki
- Najwyższe klucze węzłów
- Strony przepełnienia
- Wyszukiwanie binarne
- Wyszukiwanie binarne ze wskaźnikami kierunku
- Propagowanie podziałów i scaleń
- Okruszki
- Przywracanie równowagi
- Dołączanie tylko z prawej strony
- Ładowanie masowe
- Kompresja
- Odkurzanie i konserwacja
- Fragmentacja spowodowana aktualizacjami i usunięciami
- Defragmentacja stron
- Podsumowanie
5. Przetwarzanie transakcji i przywracanie poprzedniego stanu
- Zarządzanie buforami
- Semantyka buforowania
- Zwalnianie pamięci podręcznej
- Blokowanie stron w pamięci podręcznej
- Zastępowanie stron
- Przywracanie poprzedniego stanu
- Semantyka dziennika
- Działanie a dziennik danych
- Zasady kradzieży i wymuszania
- ARIES
- Kontrola współbieżności
- Serializowalność
- Izolacja transakcji
- Anomalie odczytu i zapisu
- Poziomy izolacji
- Optymistyczna kontrola współbieżności
- Wielowersyjna kontrola współbieżności
- Pesymistyczna kontrola współbieżności
- Kontrola współbieżności oparta na blokadach
- Podsumowanie
6. Odmiany B-drzewa
- Kopiowanie przy zapisie
- Implementowanie kopiowania przy zapisie: LMDB
- Abstrakcja aktualizacji węzłów
- Leniwe B-drzewa
- WiredTiger
- Drzewo z leniwą adaptacją
- Drzewa FD
- Kaskadowanie ułamkowe
- Przebiegi logarytmiczne
- Drzewa Bw
- Łańcuchy aktualizacji
- Ograniczanie współbieżności za pomocą porównywania i zamiany
- Modyfikacje strukturalne
- Konsolidacja i zbieranie śmieci
- B-drzewa nieświadome pamięci podręcznej
- Układ van Emde Boasa
- Podsumowanie
7. Pamięć masowa o strukturze dziennika
- Drzewa LSM
- Struktura drzewa LSM
- Aktualizacje i usuwanie
- Wyszukiwanie w drzewie LSM
- Iteracja przez scalanie
- Uzgadnianie
- Konserwacja w drzewach LSM
- Odczyt, zapis i wzmocnienie przestrzenne
- Hipoteza RUM
- Szczegóły implementacji
- Posortowane tabele ciągów
- Filtry Blooma
- Lista z przeskokami
- Dostęp do dysku
- Kompresja
- Nieuporządkowana pamięć masowa LSM
- Bitcask
- WiscKey
- Współbieżność w drzewach LSM
- Układanie dzienników w stos
- Warstwa translacji pamięci flash
- Rejestrowanie systemu plików
- LLAMA i uważne układanie na stosie
- Dyski SSD z otwartym kanałem
- Podsumowanie
Podsumowanie części I
CZĘŚĆ II. Systemy rozproszone
8. Wprowadzenie i przegląd
- Współbieżne wykonywanie
- Współdzielony stan w systemie rozproszonym
- Błędy obliczeń rozproszonych
- Przetwarzanie
- Zegary i czas
- Spójność stanu
- Wykonywanie lokalne i zdalne
- Potrzeba radzenia sobie z awariami
- Partycje sieciowe i częściowe awarie
- Awarie kaskadowe
- Abstrakcje systemów rozproszonych
- Łącza
- Problem dwóch generałów
- Niemożność FLP
- Synchronizacja systemu
- Modele awarii
- Awaria systemu
- Błędy pominięcia
- Przypadkowe błędy
- Radzenie sobie z awariami
- Podsumowanie
9. Wykrywanie awarii
- Puls i pingi
- Detektor awarii bez limitu czasu
- Zewnętrzne sprawdzanie pulsu
- Detektor awarii Phi-Accural
- Plotki i wykrywanie awarii
- Odwracanie problemu wykrywania awarii
- Podsumowanie
10. Wybór lidera
- Algorytm tyrana
- Przełączanie awaryjne na następny w kolejności proces
- Zwykła optymalizacja kandydata
- Algorytm zapraszania
- Algorytm pierścieniowy
- Podsumowanie
11. Replikacja i spójność
- Osiąganie dostępności
- Niesławny CAP
- Ostrożne korzystanie z CAP
- Zbiór i uzysk
- Pamięć współdzielona
- Porządkowanie
- Modele spójności
- Ścisła spójność
- Linearyzowalność
- Spójność sekwencyjna
- Spójność przyczynowo-skutkowa
- Modele sesji
- Ostateczna spójność
- Dostrajana spójność
- Repliki świadków
- Silna ostateczna spójność i typy CRDT
- Podsumowanie
12. Antyentropia i rozpowszechnianie
- Naprawa odczytu
- Skrócone odczyty
- Przekazanie ze wskazówką
- Drzewa Merkle'a
- Wektory wersji bitmapowej
- Rozpowszechnianie plotek
- Mechanika plotki
- Sieci nakładkowe
- Plotki hybrydowe
- Widoki częściowe
- Podsumowanie
13. Transakcje rozproszone
- Sprawianie, aby działania wyglądały na niepodzielne
- Zatwierdzanie dwufazowe
- Awarie w grupach w 2PC
- Awarie koordynatora w 2PC
- Zatwierdzanie trójfazowe
- Awarie koordynatora w 3PC
- Transakcje rozproszone z użyciem Calvina
- Transakcje rozproszone z użyciem Spannera
- Podział bazy danych na partycje
- Spójne obliczanie skrótów
- Transakcje rozproszone z rozprzestrzenianiem
- Unikanie koordynacji
- Podsumowanie
14. Konsensus
- Rozgłaszanie
- Niepodzielne rozgłaszanie
- Synchroniczność wirtualna
- Niepodzielne rozgłoszenie Zookeeper (ZAB)
- Paxos
- Algorytm Paxos
- Kworum w Paxosie
- Scenariusze awarii
- Multi-Paxos
- Fast Paxos
- Egalitarian Paxos
- Flexible Paxos
- Uogólnione rozwiązanie konsensusu
- Raft
- Rola lidera w algorytmie Raft
- Scenariusze awarii
- Konsensus bizantyński
- Algorytm PBFT
- Odzyskiwanie i punkty kontrolne
- Podsumowanie
Podsumowanie części II
Bibliografia