Facebook - konwersja
Darmowy fragment

  • nowość

Przetwarzanie danych w dużej skali. Niezawodność, skalowalność i konserwacja systemów - ebook

Wydawnictwo:
Tłumacz:
Format:
PDF
Data wydania:
17 sierpnia 2026
149,00
14900 pkt
punktów Virtualo

Przetwarzanie danych w dużej skali. Niezawodność, skalowalność i konserwacja systemów - ebook

Zrozum systemy danych od fundamentów po architekturę na skalę globalną.

 

Przetwarzanie danych w dużej skali stało się biblią w dziedzinie systemów rozproszonych. Niemal każdy poważny specjalista, jakiego znam, posiada jej egzemplarz.

Will Wilson, CEO, Antithesis

Ta książka powinna być lekturą obowiązkową dla inżynierów oprogramowania.

Kevin Scott, CTO, Microsoft

W erze chmury obliczeniowej, mikroserwisów i eksplozji danych każda nowoczesna aplikacja musi się mierzyć z wyzwaniami skalowalności, niezawodności i wydajności. Drugie wydanie kultowej książki Martina Kleppmanna, uzupełnione o współautorstwo Chrisa Riccominiego, to kompleksowy przewodnik po architekturze systemów danych od relacyjnych baz danych, przez rozproszone systemy NoSQL, po chmurowe hurtownie danych i przetwarzanie strumieniowe. Zaktualizowane wydanie uwzględnia najnowsze trendy: architekturę natywną dla chmury, indeksy wektorowe dla AI, silniki synchronizacji i oprogramowanie local-first.

Książka prowadzi czytelnika przez cały ekosystem systemów danych od modeli przechowywania i indeksowania danych, przez replikację i sharding, po transakcje rozproszone i algorytmy uzgadniania konsensusu. Autorzy nie ograniczają się do opisu narzędzi tłumaczą, dlaczego systemy działają tak, a nie inaczej, i jakie kompromisy kryją się za każdą decyzją architektoniczną. Osobne rozdziały zostały poświęcone przetwarzaniu wsadowemu i strumieniowemu, filozofii systemów sterowanych zdarzeniami i etycznym aspektom pracy z danymi osobowymi.

W książce:

  • Modele danych i języki zapytań
  • Silniki przechowywania danych
  • Replikacja, sharding i transakcje
  • Systemy rozproszone
  • Przetwarzanie wsadowe i strumieniowe
  • Architektura natywna dla chmury
  • Etyka i prawo

Spis treści

 

Przedmowa

1. Kompromisy w architekturze systemów danych

  • Systemy transakcyjne a systemy analityczne
    • Charakterystyka przetwarzania transakcji i analityki
    • Hurtownie danych
    • Systemy zapisu a systemy danych pochodnych
  • Chmura a hosting własny
    • Wady i zalety usług chmurowych
    • Architektura systemów natywnych dla chmury
    • Operacje w erze chmury
  • Systemy rozproszone a systemy jednowęzłowe
    • Problemy z systemami rozproszonymi
    • Mikrousługi i architektura bezserwerowa
    • Przetwarzanie w chmurze i superkomputery
  • Systemy danych, prawo i społeczeństwo
  • Podsumowanie

2. Definiowanie wymagań niefunkcjonalnych

  • Studium przypadku: główne osie czasu w sieciach społecznościowych
    • Reprezentacja użytkowników, wpisów i obserwujących
    • Materializacja i aktualizacja osi czasu
  • Opis wydajności
    • Opóźnienie i czas odpowiedzi
    • Średnia, mediana i percentyle
    • Stosowanie miar czasu odpowiedzi
  • Niezawodność i odporność na błędy
    • Odporność na błędy
    • Błędy sprzętowe i programowe
    • Niezawodność a czynnik ludzki
  • Skalowalność
    • Opisywanie obciążenia
    • Architektura ze współdzieloną pamięcią, współdzielonym dyskiem i bez współdzielenia zasobów
    • Zasady zapewniania skalowalności
  • Łatwość konserwacji
    • Łatwość eksploatacji - ułatwianie życia pracownikom operacyjnym
    • Prostota - zarządzanie złożonością
    • Łatwość modyfikowania - umożliwianie prostego wprowadzania zmian
  • Podsumowanie

3. Modele danych i języki zapytań

  • Model relacyjny a model dokumentowy
    • Niedopasowanie modeli obiektowego i relacyjnego
    • Normalizacja, denormalizacja i złączenia
    • Relacje wiele do jednego i wiele do wielu
    • Gwiazdy i płatki śniegu - schematy używane w analityce
    • Kiedy stosować poszczególne modele?
  • Modele danych przypominające graf
    • Grafy właściwości
    • Język zapytań Cypher
    • Zapytania o grafy w SQL-u
    • Model triplestore i język SPARQL
    • Datalog - rekurencyjne zapytania relacyjne
    • GraphQL
  • Event sourcing i CQRS
  • Ramki danych, macierze i tablice
  • Podsumowanie

4. Przechowywanie i pobieranie danych

  • Przechowywanie i indeksy w systemach OLTP
    • Przechowywanie danych w plikach o strukturze dziennika
    • B-drzewa
    • Porównanie b-drzew z drzewami LSM
    • Indeksy wielokolumnowe i pomocnicze
    • Przechowywanie wartości w indeksie
    • Utrzymywanie wszystkiego w pamięci
  • Przechowywanie danych na potrzeby analityki
    • Chmurowe hurtownie danych
    • Bazy kolumnowe
    • Wykonywanie zapytań: kompilacja i wektoryzacja
    • Widoki zmaterializowane i kostki danych
  • Indeksy wielowymiarowe i pełnotekstowe
    • Wyszukiwanie pełnotekstowe
    • Reprezentacje wektorowe
  • Podsumowanie

5. Kodowanie i zmiany

  • Formaty kodowania danych
    • Formaty specyficzne dla języków
    • JSON, XML i ich wersje binarne
    • Protocol Buffers
    • Avro
    • Zalety schematów
  • Sposoby przepływu danych
    • Przepływ danych z wykorzystaniem baz
    • Przepływ danych z użyciem usług w REST i RPC
    • Wykonywanie odporne na awarie i przepływy pracy
    • Architektury sterowane zdarzeniami
  • Podsumowanie

6. Replikacja

  • Replikacja z jednym liderem
    • Replikacja synchroniczna i asynchroniczna
    • Tworzenie nowych obserwatorów
    • Radzenie sobie z przestojami węzłów
    • Implementowanie dzienników replikacji
    • Problemy z opóźnieniem replikacji
    • Rozwiązania problemu opóźnienia replikacji
  • Replikacja z wieloma liderami
    • Praca w środowisku rozproszonym geograficznie
    • Silniki synchronizacji i oprogramowanie local-first
    • Radzenie sobie z konfliktami przy zapisie
  • Replikacja bez lidera
    • Zapis danych w bazie, gdy węzeł nie działa
    • Porównanie wydajności replikacji z jednym liderem i replikacji bez lidera
    • Eksploatacja w wielu regionach
    • Wykrywanie współbieżnych zapisów
  • Podsumowanie

7. Sharding

  • Wady i zalety shardingu
  • Sharding w architekturze multitenant
  • Sharding danych typu klucz - wartość
    • Podział na podstawie przedziałów kluczy
    • Sharding na podstawie skrótów kluczy
    • Asymetryczne obciążenie robocze i odciążanie hot spotów
    • Eksploatacja - równoważenie automatyczne lub ręczne
  • Trasowanie żądań
  • Sharding a indeksy pomocnicze
    • Podział indeksów pomocniczych na podstawie dokumentów
    • Globalne indeksy pomocnicze
  • Podsumowanie

8. Transakcje

  • Czym dokładnie jest transakcja?
    • Znaczenie gwarancji ACID
    • Operacje na pojedynczych obiektach i na wielu obiektach
  • Niskie poziomy izolacji
    • Odczyt zatwierdzonych danych
    • Izolacja snapshotów i powtarzalny odczyt
    • Zapobieganie utracie aktualizacji
    • Zapis zniekształcający i fantomy
  • Sekwencyjność
    • Rzeczywiste sekwencyjne wykonywanie transakcji
    • Blokady dwuetapowe
    • Algorytm SSI
  • Transakcje rozproszone
    • Zatwierdzanie dwuetapowe
    • Transakcje rozproszone w różnych systemach
    • Transakcje rozproszone wewnątrz bazy danych
    • Jeszcze o przetwarzaniu komunikatów dokładnie raz
  • Podsumowanie

9. Problemy z systemami rozproszonymi

  • Błędy i awarie częściowe
  • Zawodne sieci
    • Ograniczenia protokołu TCP
    • Błędy sieci w praktyce
    • Wykrywanie błędów
    • Limity czasu i nieograniczone opóźnienia
    • Sieci synchroniczne i asynchroniczne
  • Zawodne zegary
    • Zegary monotoniczne a zegary czasu rzeczywistego
    • Synchronizacja i precyzja zegarów
    • Poleganie na zegarach synchronizowanych
    • Wstrzymywanie procesów
  • Wiedza, prawda i kłamstwa
    • Rządy większości
    • Blokady i dzierżawy w środowisku rozproszonym
    • Błędy bizantyjskie
    • Model systemu a rzeczywistość
    • Metody formalne i testy randomizowane
  • Podsumowanie

10. Spójność i konsensus

  • Liniowość
    • Co sprawia, że system jest liniowy?
    • Poleganie na liniowości
    • Implementowanie systemów liniowych
    • Koszty liniowości
  • Generatory identyfikatorów i zegary logiczne
    • Zegary logiczne
    • Liniowe generatory identyfikatorów
  • Konsensus
    • Rodzaje konsensusu
    • Konsensus w praktyce
    • Usługi koordynacji
  • Podsumowanie

11. Przetwarzanie wsadowe

  • Przetwarzanie wsadowe z użyciem narzędzi uniksowych
    • Prosta analiza dziennika
    • Łańcuch wywołań a niestandardowe programy
    • Sortowanie a agregowanie w pamięci
  • Przetwarzanie wsadowe w systemach rozproszonych
    • Rozproszone systemy plików
    • Pamięć obiektowa
    • Orkiestracja zadań w środowisku rozproszonym
  • Modele przetwarzania wsadowego
    • MapReduce
    • Systemy przepływu danych
    • Tasowanie danych
    • Złączenia i grupowanie
    • Języki zapytań
    • Ramki danych
  • Zastosowania przetwarzania wsadowego
    • Procesy ETL
    • Analityka
    • Uczenie maszynowe
    • Udostępnianie danych pochodnych
  • Podsumowanie

12. Przetwarzanie strumieniowe

  • Przesyłanie strumieni zdarzeń
    • Systemy obsługi komunikatów
    • Brokery komunikatów oparte na dziennikach
  • Strumienie a bazy danych
    • Utrzymywanie synchronizacji systemów
    • Przechwytywanie zmian w danych
    • Stan, strumienie i niemodyfikowalność
  • Przetwarzanie strumieniowe
    • Zastosowania przetwarzania strumieniowego
    • Wnioskowanie na temat czasu
    • Złączanie strumieni
    • Odporność na błędy
  • Podsumowanie

13. Filozofia systemów strumieniowych

  • Integrowanie danych
    • Łączenie wyspecjalizowanych narzędzi za pomocą generowania danych
    • Przetwarzanie wsadowe i strumieniowe
  • Podział baz danych na komponenty
    • Łączenie technologii składowania danych
    • Projektowanie aplikacji na podstawie przepływu danych
    • Obserwowanie stanu pochodnego
  • Dążenie do poprawności
    • Zasada punktów końcowych dla baz danych
    • Wymuszanie przestrzegania ograniczeń
    • Aktualność a integralność
    • Ufaj, ale kontroluj
  • Podsumowanie

14. Robienie tego, co słuszne

  • Analityka prognostyczna
    • Uprzedzenia i dyskryminacja
    • Odpowiedzialność i rozliczalność
    • Pętle sprzężenia zwrotnego
  • Prywatność i śledzenie
    • Inwigilacja
    • Zgoda i wolność wyboru
    • Prywatność i wykorzystanie danych
    • Dane jako zasoby i źródło władzy
    • Pamiętając o rewolucji przemysłowej.
    • Ustawodawstwo i samoregulacja
  • Podsumowanie

Słowniczek

Skorowidz

Kategoria: Bazy danych
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-289-3955-4
Rozmiar pliku: 8,8 MB

BESTSELLERY

Menu

Zamknij