Handbuch Data Engineering

Book description

Data Engineering hat sich in den letzten zehn Jahren rasant entwickelt, sodass viele Software Engineers, Datenanalystinnen und Data Scientists nach einer zusammenfassenden Darstellung der grundlegenden Techniken suchen. Dieses praxisorientierte Buch gibt Ihnen mit dem Data Engineering Lifecycle ein Framework an die Hand, das die Evaluierung und Auswahl der besten Technologien für reale Geschäftsprobleme erleichtert. Sie erfahren, wie Sie Systeme so planen und entwickeln, dass sie den Anforderungen Ihres Unternehmens und Ihrer Kunden optimal gerecht werden.Joe Reis und Matt Housley führen Sie durch den Data Engineering Lifecycle und zeigen Ihnen, wie Sie eine Vielzahl von Cloud-Technologien kombinieren können, um die Bedürfnisse von Datenkonsumenten zu erfüllen. Sie lernen, die Konzepte der Generierung, Ingestion, Orchestrierung, Transformation, Speicherung und Bereitstellung von Daten anzuwenden, die in jeder Datenumgebung – unabhängig von der konkret verwendeten Technologie – von entscheidender Bedeutung sind.- Erhalten Sie einen kompakten Überblick über die gesamte Praxis des Data Engineering- Beurteilen Sie Problemstellungen im Data Engineering anhand eines umfassenden Frameworks von Best Practices- Wählen Sie geeignete Datentechnologien, -architekturen und -prozesse jenseits des Marketing-Hypes aus- Nutzen Sie den Data Engineering Lifecycle, um eine robuste Infrastruktur zu entwerfen und aufzubauen- Erfahren Sie, wie Sie Data Governance und Sicherheit in den gesamten Lebenszyklus Ihrer Daten integrieren

Table of contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Vorwort
  6. Teil I Grundlagen und Bausteine
    1. 1 Data Engineering – eine Beschreibung
    2. Was ist Data Engineering?
    3. Data Engineering – eine Definition
    4. Der Data Engineering Lifecycle
    5. Die Entwicklung des Data Engineers
    6. Data Engineering und Data Science
    7. Data Engineering – Fähigkeiten und Tätigkeiten
    8. Datenreife und der Data Engineer
    9. Der berufliche Werdegang und die Kompetenzen eines Data Engineers
    10. Geschäftliche Verantwortlichkeiten
    11. Technische Verantwortlichkeiten
    12. Das Kontinuum der Rollen im Data Engineering – von A nach B
    13. Data Engineers innerhalb eines Unternehmens
    14. Nach innen gerichtete versus nach außen gerichtete Data Engineers
    15. Data Engineers und andere technische Rollen
    16. Data Engineers und die Unternehmensführung
    17. Fazit
    18. Weitere Quellen
    19. 2 Der Data Engineering Lifecycle
    20. Was ist der Data Engineering Lifecycle?
    21. Datenlebenszyklus versus Data Engineering Lifecycle
    22. Generierung: Quellsysteme
    23. Speicherung
    24. Ingestion
    25. Transformation
    26. Bereitstellung
    27. Die wesentlichen Unterströmungen innerhalb des Data Engineering Lifecycle
    28. Sicherheit
    29. Datenmanagement
    30. DataOps
    31. Datenarchitektur
    32. Orchestrierung
    33. Softwareentwicklung
    34. Fazit
    35. Weitere Quellen
    36. 3 Konzeption einer guten Datenarchitektur
    37. Was ist Datenarchitektur?
    38. Definition der Unternehmensarchitektur
    39. Definition der Datenarchitektur
    40. »Gute« Datenarchitektur
    41. Die Grundsätze guter Datenarchitektur
    42. Grundsatz 1: Wählen Sie gängige Komponenten mit Bedacht aus
    43. Grundsatz 2: Planen Sie Ausfälle ein
    44. Grundsatz 3: Planen Sie für Skalierbarkeit
    45. Grundsatz 4: Architektur heißt Führung
    46. Grundsatz 5: Seien Sie immer Architekt
    47. Grundsatz 6: Entwickeln Sie lose gekoppelte Systeme
    48. Grundsatz 7: Treffen Sie reversible Entscheidungen
    49. Grundsatz 8: Priorisieren Sie das Thema Sicherheit
    50. Grundsatz 9: Nutzen Sie FinOps
    51. Wichtige Konzepte der Architektur
    52. Domänen und Dienste
    53. Verteilte Systeme, Skalierbarkeit und Ausfallsicherheit
    54. Enge versus lockere Kopplung: Schichten, Monolithen und Microservices
    55. Benutzerzugriff: Einzelmandant versus Mehrmandanten
    56. Ereignisgesteuerte Architektur
    57. Brownfield- versus Greenfield-Projekte
    58. Beispiele und Arten der Datenarchitektur
    59. Data Warehouse
    60. Data Lake
    61. Konvergenz, Data Lakes der nächsten Generation und die Datenplattform
    62. Modern Data Stack
    63. Lambda-Architektur
    64. Kappa-Architektur
    65. Das Dataflow-Modell und die Vereinheitlichung von Batch und Streaming
    66. Architektur für IoT
    67. Data Mesh
    68. Weitere Beispiele von Datenarchitekturen
    69. Wer ist an der Gestaltung einer Datenarchitektur beteiligt?
    70. Fazit
    71. Weitere Quellen
    72. 4 Wahl der Technologien für den kompletten Data Engineering Lifecycle
    73. Größe und Fähigkeiten des Teams
    74. Schnelle Markteinführung
    75. Interoperabilität
    76. Kostenoptimierung und Geschäftswert
    77. Gesamtbetriebskosten
    78. Total Opportunity Cost of Ownership
    79. FinOps
    80. Gegenwart versus Zukunft: unveränderliche versus vergängliche Technologien
    81. Unser Rat
    82. Standort
    83. Vor Ort
    84. Cloud
    85. Hybride Cloud
    86. Multicloud
    87. Dezentralisiert: Blockchain und Edge
    88. Unser Rat
    89. Argumente für die Cloud-Rückführung
    90. Eigenentwicklung oder Kauf
    91. Open Source
    92. Proprietäre geschlossene Systeme
    93. Unser Rat
    94. Monolithisch versus modular
    95. Monolith
    96. Modularität
    97. Der verteilte Monolith
    98. Unser Rat
    99. Serverlos versus Server
    100. Serverless
    101. Container
    102. Wie bewertet man Server versus Serverless?
    103. Unser Rat
    104. Optimierung, Leistung und Benchmarking
    105. Big Data … für die 1990er
    106. Absurde Kostenvergleiche
    107. Asymmetrische Optimierung
    108. Ausschluss der Gewährleistung
    109. Die Unterströmungen und ihre Auswirkungen auf die Wahl der Technologien
    110. Datenmanagement
    111. DataOps
    112. Datenarchitektur
    113. Beispiel für Orchestrierung: Airflow
    114. Softwareentwicklung
    115. Fazit
    116. Weitere Quellen
  7. Teil II Der Data Engineering Lifecycle im Detail
    1. 5 Datengenerierung in den Quellsystemen
    2. Datenquellen: Wie entstehen Daten?
    3. Quellsysteme: zentrale Aspekte
    4. Dateien und unstrukturierte Daten
    5. APIs
    6. Anwendungsdatenbanken (OLTP-Systeme)
    7. Das OLAP-System
    8. CDC
    9. Protokolle
    10. Datenbankprotokolle
    11. CRUD
    12. Insert-only
    13. Nachrichten und Streams
    14. Zeittypen
    15. Quellsysteme – praktische Details
    16. Datenbanken
    17. APIs
    18. Datenfreigabe
    19. Datenquellen von Drittanbietern
    20. Plattformen für das Streaming von Nachrichten und Ereignissen
    21. Mit wem arbeiten Sie zusammen?
    22. Die Bedeutung der Unterströmungen für Quellsysteme
    23. Sicherheit
    24. Datenmanagement
    25. DataOps
    26. Datenarchitektur
    27. Orchestrierung
    28. Softwareentwicklung
    29. Fazit
    30. Weitere Quellen
    31. 6 Speicherung
    32. Komponenten der Datenspeicherung
    33. Magnetische Festplatten
    34. Solid State Drive
    35. Direktzugriffsspeicher
    36. Netzwerke und CPU
    37. Serialisierung
    38. Kompression
    39. Caching
    40. Datenspeichersysteme
    41. Einzelner Rechner versus verteilte Speicherung
    42. Eventuelle versus starke Konsistenz
    43. Dateispeicher
    44. Blockspeicher
    45. Objektspeicher
    46. Cache- und RAM-basierte Speichersysteme
    47. Hadoop
    48. Streaming-Storage
    49. Indizes, Partitionen und Cluster
    50. Speicherkonzepte im Data Engineering
    51. Data Warehouse
    52. Data Lake
    53. Data Lakehouse
    54. Datenplattformen
    55. Stream-to-Batch-Speicherarchitektur
    56. Große Ideen und Trends in der Speicherung
    57. Datenkatalog
    58. Datenfreigabe
    59. Schema
    60. Trennung von Verarbeitung und Speicherung
    61. Lebenszyklus der Datenspeicherung und die Datenaufbewahrung
    62. Mandantenfähiger versus mehrmandantenfähiger Speicher
    63. Mit wem arbeiten Sie zusammen?
    64. Unterströmungen
    65. Sicherheit
    66. Datenmanagement
    67. DataOps
    68. Datenarchitektur
    69. Orchestrierung
    70. Softwareentwicklung
    71. Fazit
    72. Weitere Quellen
    73. 7 Ingestion
    74. Was versteht man unter Ingestion?
    75. Wichtige technische Überlegungen für die Ingestionsphase
    76. Begrenzte und nicht begrenzte Daten
    77. Häufigkeit
    78. Synchrone und asynchrone Ingestion
    79. Serialisierung und Deserialisierung
    80. Durchsatz und Skalierbarkeit
    81. Zuverlässigkeit und Beständigkeit
    82. Nutzdaten
    83. Push, Pull und Polling
    84. Überlegungen zur Batch-Ingestion
    85. Snapshot oder differenzielle Extraktion
    86. Dateibasierter Export und Ingestion
    87. ETL und ELT
    88. Inserts, Updates und Batch-Größe
    89. Datenmigration
    90. Überlegungen zur Ingestion von Nachrichten und Streams
    91. Weiterentwicklung des Schemas
    92. Verspätet eingegangene Daten
    93. Reihenfolge und mehrfache Zustellung
    94. Replay
    95. Time to Live
    96. Nachrichtengröße
    97. Fehlerbehandlung und Dead-Letter-Queues
    98. Pull und Push für Verbraucher
    99. Standort
    100. Möglichkeiten der Dateningestion
    101. Direkte Datenbankverbindung
    102. Change Data Capture
    103. APIs
    104. Nachrichtenwarteschlangen und Event-Streaming-Plattformen
    105. Verwaltete Datenkonnektoren
    106. Verschieben von Daten mithilfe des Objektspeichers
    107. EDI
    108. Datenbanken und Dateiexport
    109. Probleme mit gängigen Dateiformaten
    110. Shell
    111. SSH
    112. SFTP und SCP
    113. Webhooks
    114. Webinterface
    115. Web Scraping
    116. Transfer Appliances für die Datenmigration
    117. Datenfreigabe
    118. Mit wem arbeiten Sie zusammen?
    119. Vorgelagerte Stakeholder
    120. Nachgelagerte Stakeholder
    121. Unterströmungen
    122. Sicherheit
    123. Datenmanagement
    124. DataOps
    125. Orchestrierung
    126. Softwareentwicklung
    127. Fazit
    128. Weitere Quellen
    129. 8 Queries, Modellierung und Transformation
    130. Queries
    131. Was ist eine Query?
    132. Ablauf einer Abfrage
    133. Der Abfrageoptimierer
    134. Die Abfrageleistung verbessern
    135. Abfragen von Streaming-Daten
    136. Datenmodellierung
    137. Was ist ein Datenmodell?
    138. Konzeptuelle, logische und physische Datenmodelle
    139. Normalisierung
    140. Methoden der Datenmodellierung für die Batch-Analyse
    141. Modellierung von Streaming-Daten
    142. Transformationen
    143. Batch-Transformationen
    144. Materialized Views, Federation und Query Virtualization
    145. Transformationen und Verarbeitung von Datenströmen
    146. Mit wem arbeiten Sie zusammen?
    147. Vorgelagerte Stakeholder
    148. Nachgelagerte Stakeholder
    149. Unterströmungen
    150. Sicherheit
    151. Datenmanagement
    152. DataOps
    153. Datenarchitektur
    154. Orchestrierung
    155. Softwareentwicklung
    156. Fazit
    157. Weitere Quellen
    158. 9 Bereitstellung von Daten für Analysen, Machine Learning und Reverse ETL
    159. Allgemeine Überlegungen zur Bereitstellung von Daten
    160. Vertrauen
    161. Was ist der Anwendungsfall, und wer ist der Anwender?
    162. Datenprodukte
    163. Self-Service oder nicht?
    164. Datendefinitionen und -logik
    165. Data Mesh
    166. Analytik
    167. Business Analytics
    168. Operational Analytics
    169. Embedded Analytics
    170. Machine Learning
    171. Was ein Data Engineer über ML wissen sollte
    172. Wege der Datenbereitstellung für Analyse und ML
    173. Austausch von Dateien
    174. Datenbanken
    175. Streaming-Systeme
    176. Abfrageverbund
    177. Datenfreigabe
    178. Semantische und metrische Schichten
    179. Datenbereitstellung in Notebooks
    180. Reverse ETL
    181. Mit wem arbeiten Sie zusammen?
    182. Unterströmungen
    183. Sicherheit
    184. Datenmanagement
    185. DataOps
    186. Datenarchitektur
    187. Orchestrierung
    188. Softwareentwicklung
    189. Fazit
    190. Weitere Quellen
  8. Teil III Sicherheit, Datenschutz und die Zukunft des Data Engineering
    1. 10 Sicherheit und Datenschutz
    2. Menschen
    3. Die Kraft des negativen Denkens
    4. Seien Sie stets paranoid
    5. Prozesse
    6. Sicherheitstheater versus Sicherheitsgewohnheit
    7. Aktive Sicherheit
    8. Das Prinzip der geringsten Privilegien
    9. Gemeinsame Verantwortung in der Cloud
    10. Sichern Sie stets Ihre Daten
    11. Ein Beispiel für eine Sicherheitsrichtlinie
    12. Technologie
    13. Systeme für Patches und Updates
    14. Verschlüsselung
    15. Protokollieren, überwachen und warnen
    16. Netzwerkzugriff
    17. Sicherheit für einfaches Data Engineering
    18. Fazit
    19. Weitere Quellen
    20. 11 Die Zukunft des Data Engineering
    21. Der Data Engineering Lifecycle bleibt
    22. Geringere Komplexität und benutzerfreundliche Datenwerkzeuge
    23. Daten-OS in der Cloud und verbesserte Interoperabilität
    24. »Unternehmerisches« Data Engineering
    25. Titel und Zuständigkeiten verändern sich
    26. Vom Modern Data Stack zum Live Data Stack
    27. Live Data Stack
    28. Streaming-Pipelines und analytische Echtzeit-Datenbanken
    29. Die Verschmelzung von Daten und Anwendungen
    30. Enge Rückkopplung zwischen Anwendungen und ML
    31. Dark Matter Data und der Aufstieg der … Spreadsheets?
    32. Fazit
  9. Anhang A Serialisierung und Kompression – technische Details
  10. Anhang B Cloud-Vernetzung
  11. Fußnoten
  12. Index
  13. Über die Autoren
  14. Kolophon

Product information

  • Title: Handbuch Data Engineering
  • Author(s): Joe Reis, Matt Housley
  • Release date: July 2023
  • Publisher(s): dpunkt
  • ISBN: 9783960092162