E-book details

Inżynieria danych w praktyce. Kluczowe koncepcje i najlepsze technologie

Inżynieria danych w praktyce. Kluczowe koncepcje i najlepsze technologie

Joe Reis, Matt Housley

Ebook

Ze względu na gwałtowny rozwój inżynierii danych, jaki nastąpił w ciągu ostatniej dekady, wielu inżynierów oprogramowania, badaczy i analityków danych zaczęło odczuwać potrzebę kompleksowego spojrzenia na tę praktykę. Dzięki tej praktycznej książce zawierającej opis najlepszych technologii dostępnych w ramach frameworka cyklu życia inżynierii danych, dowiesz się, jak planować i budować systemy, które mają zaspokoić potrzeby Twojej organizacji i klientów.

Autorzy, Joe Reis i Matt Housley, przeprowadzą Cię przez cykl życia inżynierii danych i pokażą, jak połączyć różne technologie chmurowe, aby spełnić potrzeby konsumentów danych w dolnej części strumienia przetwarzania. Dzięki lekturze tej książki dowiesz się, jak zastosować koncepcje generowania, pozyskiwania, orkiestracji, przekształcania, przechowywania i zarządzania danymi - kluczowe w każdym środowisku danych, niezależnie od wykorzystywanej technologii.

Dzięki książce:

  • Uzyskasz zwięzły przegląd całego środowiska inżynierii danych.
  • Nauczysz się oceniać problemy inżynierii danych i stosować kompleksowe frameworki najlepszych praktyk.
  • Dowiesz się jak przebić się przez szum marketingowy i wybrać odpowiednie technologie, architekturę danych i procesy?
  • Nauczysz się wykorzystywać cykl życia inżynierii danych do zaprojektowania i zbudowania solidnej architektury.
  • Poznasz mechanizmy zarządzania danymi i bezpieczeństwa w całym cyklu życia inżynierii danych.

"Świat danych ewoluuje już od jakiegoś czasu. Najpierw byli projektanci. Następnie administratorzy baz danych. Potem CIO. Następnie architekci danych. Ta książka sygnalizuje kolejny krok w ewolucji i dojrzałości branży. Jest to lektura obowiązkowa dla każdego, kto uczciwie podchodzi do swojego zawodu i kariery".

Bill Inmon, twórca hurtowni danych

"Inżynieria danych w praktyce" to świetne wprowadzenie do branży przenoszenia, przetwarzania i obsługi danych. Gorąco polecam ją każdemu, kto chce być na bieżąco z inżynierią danych lub analizą oraz wszystkim osobom zajmującym się danymi, którzy chcą uzupełnić luki w swojej wiedzy".

Jordan Tigani, założyciel i dyrektor generalny firmy MotherDuck oraz inżynier-założyciel i współtwórca firmy BigQuery

Przedmowa

Część I. Podstawy i bloki budulcowe

  • 1. Czym jest inżynieria danych?
    • Czym jest inżynieria danych?
      • Definicja inżynierii danych
      • Cykl życia inżynierii danych
      • Ewolucja inżyniera danych
      • Inżynieria danych a nauka o danych
    • Umiejętności w zakresie inżynierii danych i wykonywane działania
      • Znaczenie dojrzałości danych dla inżyniera danych
      • Umiejętności inżyniera danych
      • Obowiązki biznesowe
      • Obowiązki techniczne
      • Kontinuum ról inżynierii danych od A do B
    • Inżynierowie danych wewnątrz organizacji
      • Inżynierowie danych wewnętrznych systemów firmy a inżynierowie danych systemów zewnętrznych
      • Inżynierowie danych a inne role techniczne
      • Inżynierowie danych a kierownictwo biznesowe
    • Podsumowanie
    • Zasoby dodatkowe
  • 2. Cykl życia inżynierii danych
    • Czym jest cykl życia inżynierii danych?
      • Cykl życia danych a cykl życia inżynierii danych
      • Generowanie - systemy źródłowe
      • Przechowywanie
      • Pozyskiwanie
      • Przekształcanie
      • Serwowanie danych
    • Główne nurty w cyklu życia inżynierii danych
      • Bezpieczeństwo
      • Zarządzanie danymi
      • DataOps
      • Architektura danych
      • Orkiestracja
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe
  • 3. Projektowanie dobrej architektury danych
    • Czym jest architektura danych?
      • Definicja architektury korporacyjnej
      • Definicja architektury danych
      • "Dobra" architektura danych
    • Zasady dobrej architektury danych
      • Zasada 1. Mądrze dobieraj wspólne komponenty
      • Zasada 2. Przygotuj się na awarie
      • Zasada 3. Tworzenie architektury z myślą o skalowalności
      • Zasada 4. Architektura to przywództwo
      • Zasada 5. Pracuj nad architekturą ciągle
      • Zasada 6. Buduj luźno powiązane systemy
      • Zasada 7. Podejmuj odwracalne decyzje
      • Zasada 8. Traktuj bezpieczeństwo priorytetowo
      • Zasada 9. Korzystaj z FinOps
    • Główne pojęcia dotyczące architektury danych
      • Dziedziny i usługi
      • Systemy rozproszone, skalowalność i projektowanie z uwzględnieniem awarii
      • Sprzężenia ścisłe a sprzężenia luźne: warstwy, monolity i mikrousługi
      • Dostęp użytkowników - pojedynczy użytkownik a wielodostęp
      • Architektura sterowana zdarzeniami
      • Projekty typu brownfield kontra projekty typu greenfield
    • Przykłady i typy architektury danych
      • Hurtownia danych
      • Jeziora danych
      • Konwergencja, jeziora danych nowej generacji i platforma danych
      • Nowoczesny stos danych
      • Architektura Lambda
      • Architektura Kappa
      • Model przepływu danych oraz ujednolicone przetwarzanie wsadowe i strumieniowe
      • Architektura dla IoT
      • Siatka danych
      • Przykłady innych architektur danych
    • Kto jest zaangażowany w projektowanie architektury danych?
    • Podsumowanie
    • Zasoby dodatkowe
  • 4. Wybór technologii w całym cyklu życia inżynierii danych
    • Wielkość i możliwości zespołu
    • Szybkość wprowadzania produktów na rynek
    • Interoperacyjność
    • Optymalizacja kosztów i wartości biznesowej
      • Całkowity koszt posiadania
      • Całkowity koszt alternatywny posiadania
      • FinOps
    • Teraźniejszość kontra przyszłość - technologie niezmienne kontra przejściowe
      • Nasza rada
    • Lokalizacja
      • Lokalnie
      • Chmura
      • Chmura hybrydowa
      • Rozwiązania wielochmurowe
      • Decentralizacja. Blockchain i przetwarzanie brzegowe
      • Nasza rada
      • Argumenty za "repatriacją" z chmury
    • Budowanie zamiast kupowania
      • Oprogramowanie open source
      • Własne ogrody otoczone murem
      • Nasza rada
    • Monolit czy rozwiązanie modułowe
      • Monolit
      • Architektura modułowa
      • Wzorzec rozproszonego monolitu
      • Nasza rada
    • Rozwiązania bezserwerowe kontra rozwiązania oparte na serwerach
      • Rozwiązania bezserwerowe
      • Kontenery
      • Jak ocenić rozwiązanie serwerowe w porównaniu z bezserwerowym?
      • Nasza rada
    • Optymalizacja, wydajność i wojny testów porównawczych
      • Big data. na lata dziewięćdziesiąte
      • Bezsensowne porównania kosztów
      • Asymetryczna optymalizacja
      • Niech kupujący się strzeże
    • Nurty cyklu życia inżynierii danych i ich wpływ na wybór technologii
      • Zarządzanie danymi
      • DataOps
      • Architektura danych
      • Przykład orkiestracji - Airflow
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe

Część II. Cykl życia inżynierii danych w szczegółach

  • 5. Generowanie danych w systemach źródłowych
    • Źródła danych - jak tworzone są dane?
    • Systemy źródłowe. Najważniejsze pojęcia
      • Pliki i dane bez struktury
      • Interfejsy API
      • Bazy danych aplikacji (systemy OLTP)
      • Systemy przetwarzania analitycznego online (OLAP)
      • Przechwytywanie zdarzeń zmiany danych
      • Logi
      • Logi bazy danych
      • CRUD
      • Tylko wstawianie
      • Komunikaty i strumienie
      • Rodzaje czasu
    • Praktyczne szczegóły dotyczące systemów źródłowych
      • Bazy danych
      • Interfejsy API
      • Współdzielenie danych
      • Zewnętrzne źródła danych
      • Kolejki komunikatów i platformy strumieniowego przesyłania zdarzeń
    • Z kim będziesz pracować?
    • Nurty inżynierii danych i ich wpływ na systemy źródłowe
      • Bezpieczeństwo
      • Zarządzanie danymi
      • DataOps
      • Architektura danych
      • Orkiestracja
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe
  • 6. Składowanie
    • Podstawowe elementy systemów składowania danych
      • Dyski magnetyczne
      • Dyski SSD
      • Pamięć operacyjna
      • Infrastruktura sieci i procesor
      • Serializacja
      • Kompresja
      • Buforowanie
    • Systemy składowania danych
      • Składowanie na pojedynczym serwerze a składowanie rozproszone
      • Spójność ostateczna kontra spójność silna
      • Składowanie w plikach
      • Blokowe systemy składowania
      • Magazyn obiektów
      • Systemy składowania oparte na pamięci podręcznej i pamięci operacyjnej
      • Rozproszony system plików Hadoop
      • Składowanie strumieniowe
      • Indeksy, partycjonowanie i klastrowanie
    • Abstrakcje składowania w inżynierii danych
      • Hurtownia danych
      • Jeziora danych
      • Data lakehouse
      • Platformy danych
      • Architektura pamięci masowej stream-to-batch
    • Wielkie pomysły i trendy dotyczące składowania
      • Katalog danych
      • Współdzielenie danych
      • Schemat
      • Oddzielenie przetwarzania od składowania
      • Cykl życia systemów składowania i utrzymywanie danych
      • Magazyny dla jednego i wielu dzierżawców
    • Z kim będziesz pracować?
    • Główne nurty
      • Bezpieczeństwo
      • Zarządzanie danymi
      • DataOps
      • Architektura danych
      • Orkiestracja
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe
  • 7. Pozyskiwanie danych
    • Czym jest pozyskiwanie danych?
    • Kluczowe zagadnienia inżynieryjne dotyczące fazy pozyskiwania danych
      • Dane związane kontra dane niezwiązane
      • Częstość
      • Pozyskiwanie synchroniczne a asynchroniczne
      • Serializacja i deserializacja
      • Przepustowość i skalowalność
      • Niezawodność i trwałość
      • Ładunek danych
      • Wzorce pozyskiwania pull, push czy odpytywanie?
    • Zagadnienia dotyczące pozyskiwania danych partiami
      • Ekstrakcja migawkowa lub różnicowa
      • Eksportowanie i pozyskiwanie oparte na plikach
      • Systemy ETL kontra ELT
      • Wstawianie, aktualizacje i rozmiar partii
      • Migracje danych
    • Zagadnienia dotyczące pozyskiwania komunikatów i pozyskiwania strumieniowego
      • Ewolucje schematu
      • Spóźnione dane
      • Kolejność zdarzeń i wielokrotne dostarczanie
      • Ponowne odtwarzanie
      • Czas życia
      • Rozmiar wiadomości
      • Obsługa błędów i kolejki utraconych wiadomości
      • Konsumenci typu pull kontra konsumenci typu push
      • Lokalizacja
    • Sposoby pozyskiwania danych
      • Bezpośrednie połączenie z bazą danych
      • Przechwytywanie zdarzeń zmian danych
      • Interfejsy API
      • Kolejki komunikatów i platformy strumieniowego przesyłania zdarzeń
      • Zarządzane łączniki danych
      • Przenoszenie danych za pomocą obiektowego magazynu danych
      • EDI
      • Bazy danych i eksportowanie plików
      • Problemy z popularnymi formatami plików
      • Powłoka
      • SSH
      • SFTP i SCP
      • Webhooki
      • Interfejs webowy
      • Web scraping
      • Urządzenia do przesyłania danych wykorzystywane do migracji
      • Współdzielenie danych
    • Z kim będziesz pracować?
      • Interesariusze w górnej części strumienia przetwarzania
      • Interesariusze z dolnej części strumienia przetwarzania
    • Główne nurty
      • Bezpieczeństwo
      • Zarządzanie danymi
      • DataOps
      • Orkiestracja
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe
  • 8. Zapytania, modelowanie i przekształcenia
    • Zapytania
      • Czym jest zapytanie?
      • Cykl życia zapytania
      • Optymalizator zapytań
      • Poprawa wydajności zapytań
      • Zapytania do danych przekazywanych strumieniowo
    • Modelowanie danych
      • Co to jest model danych?
      • Pojęciowe, logiczne i fizyczne modele danych
      • Normalizacja
      • Techniki modelowania danych analitycznych pozyskiwanych partiami
      • Modelowanie danych pozyskiwanych strumieniowo
    • Przekształcenia
      • Przekształcenia wsadowe
      • Widoki zmaterializowane, federacja i wirtualizacja zapytań
      • Przekształcanie i przetwarzanie danych przekazywanych strumieniowo
    • Z kim będziesz pracować?
      • Interesariusze w górnej części strumienia przetwarzania
      • Interesariusze z dolnej części strumienia przetwarzania
    • Główne nurty
      • Bezpieczeństwo
      • Zarządzanie danymi
      • DataOps
      • Architektura danych
      • Orkiestracja
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe
  • 9. Serwowanie danych na potrzeby analizy, uczenia maszynowego i odwróconych procesów ETL
    • Ogólne uwagi dotyczące serwowania danych
      • Zaufanie
      • Jaki jest przypadek użycia i kto jest użytkownikiem?
      • Produkty danych
      • Produkt samoobsługowy czy nie?
      • Definicje danych i logika
      • Siatki danych
    • Analityka
      • Analityka biznesowa
      • Analityka operacyjna
      • Analityka wbudowana
    • Uczenie maszynowe
    • Co inżynier danych powinien wiedzieć o ML?
    • Sposoby serwowania danych na potrzeby analityki i uczenia maszynowego
      • Wymiana za pomocą plików
      • Bazy danych
      • Systemy strumieniowe
      • Zapytania federacyjne
      • Współdzielenie danych
      • Warstwy semantyki i metryk
      • Serwowanie danych w notatnikach
    • Odwrócony ETL
    • Z kim będziesz pracować?
    • Główne nurty
      • Bezpieczeństwo
      • Zarządzanie danymi
      • DataOps
      • Architektura danych
      • Orkiestracja
      • Inżynieria oprogramowania
    • Podsumowanie
    • Zasoby dodatkowe

Część III. Bezpieczeństwo, prywatność i przyszłość inżynierii danych

  • 10. Bezpieczeństwo i prywatność
    • Ludzie
      • Moc negatywnego myślenia
      • Zawsze bądź paranoikiem
    • Procesy
      • Teatr bezpieczeństwa kontra nawyki bezpieczeństwa
      • Aktywne zabezpieczenia
      • Zasada najmniejszych uprawnień
      • Wspólna odpowiedzialność w chmurze
      • Zawsze twórz kopie zapasowe danych
      • Przykładowa polityka bezpieczeństwa
    • Technologia
      • Wdrażanie poprawek i aktualizacji
      • Szyfrowanie
      • Logowanie, monitorowanie i ostrzeganie
      • Dostęp do sieci
      • Bezpieczeństwo niskopoziomowej inżynierii danych
    • Podsumowanie
    • Zasoby dodatkowe
  • 11. Przyszłość inżynierii danych
    • Cykl życia inżynierii danych nie zniknie
    • Zmniejszenie złożoności i rozwój łatwych w użyciu narzędzi danych
    • System operacyjny danych w skali chmury i lepsza interoperacyjność
    • Korporacyjna inżynieria danych
    • Tytuły zawodowe i zakresy obowiązków będą się zmieniać.
    • Ewolucja nowoczesnego stosu danych w kierunku stosu danych na żywo
      • Stos danych na żywo
      • Potoki strumieniowe i analityczne bazy danych czasu rzeczywistego
      • Fuzja danych z aplikacjami
      • Ścisłe sprzężenie zwrotne między aplikacjami a uczeniem maszynowym
      • Dane ciemnej materii i rozwój. arkuszy kalkulacyjnych?!
    • Podsumowanie

A. Serializacja i kompresja. Szczegóły techniczne

B. Sieć w chmurze

Skorowidz

  • Title: Inżynieria danych w praktyce. Kluczowe koncepcje i najlepsze technologie
  • Author: Joe Reis, Matt Housley
  • Original title: Fundamentals of Data Engineering: Plan and Build Robust Data Systems
  • Translation: Radosław Meryk
  • ISBN: 978-83-8322-155-7, 9788383221557
  • Date of issue: 2023-06-27
  • Format: Ebook
  • Item ID: indapr
  • Publisher: Helion