Vorwort
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Data Warehousing begann damit, dass Daten aus operativen Datenbanken in Systeme übertragen wurden, die für Analysen optimiert waren. Der Betrieb dieser Systeme war teuer, so dass man sehr genau darauf achtete, welche Daten in die Data-Warehousing-Anwendung für die Analyse eingespeist wurden.
Im Laufe der Jahre ist die Nachfrage nach immer mehr Daten explodiert, was das Mooresche Gesetz bei weitem übertrifft und alte Data-Warehousing-Anwendungen in Frage stellt. Dieser Trend gilt zwar für die gesamte Branche, aber einige Unternehmen waren früher als andere mit den damit verbundenen Skalierungsproblemen konfrontiert.
Facebook war eines der ersten Unternehmen, das 2012 versuchte, dieses Problem zu lösen. Damals nutzte Facebook Apache Hive, um interaktive Analysen durchzuführen. Als die Datensätze von Facebook wuchsen, stellte sich heraus, dass Hive nicht so interaktiv (sprich: zu langsam) war wie gewünscht. Das liegt vor allem daran, dass die Grundlage von Hive MapReduce ist, das damals die Speicherung von Zwischendatensätzen auf der Festplatte erforderte. Dies erforderte eine Menge E/A auf der Festplatte für flüchtige Zwischenergebnismengen. Deshalb entwickelte Facebook Presto, eine neue verteilte SQL-Abfrage-Engine, die als In-Memory-Engine konzipiert wurde, ohne dass die Zwischenergebnisse für eine einzelne Abfrage gespeichert werden mussten. Dieser Ansatz führte zu einer Abfrage-Engine, die dieselbe Abfrage um Größenordnungen schneller bearbeitete, wobei viele Abfragen mit einer Latenzzeit von weniger als einer Sekunde abgeschlossen wurden. Endnutzer wie Ingenieure, Produktmanager und Datenanalysten konnten interaktiv Bruchteile großer Datensätze abfragen, um Hypothesen zu testen und Visualisierungen zu erstellen.
Facebook war zwar eines der ersten Unternehmen, aber es war nicht das einzige, das mit den Problemen konfrontiert wurde, die sich aus dem Wachstum der Datenmengen ergaben und die den Fortschritt der Hardware überholten. Die Data-Lake-Architektur wurde entwickelt, um diese Herausforderungen zu bewältigen, indem die Speicherung von der Rechenleistung entkoppelt wurde und die Speicherung in billigeren verteilten Dateisystemen, die Standardhardware nutzen, und schließlich in Cloud-Speichersystemen erfolgen konnte. Gleichzeitig mit der billigeren Speicherung der immer größer werdenden Daten wurden Rechensysteme zur Verarbeitung der immer größer werdenden Daten entwickelt. Es war jedoch nicht sofort klar, wie die Nutzer/innen die Daten aus dem Data Lake interaktiv abfragen würden - oft versuchten sie, wie bei Facebook im Jahr 2012, die Daten mit Tools umzuwandeln, die für Offline-Zwecke entwickelt worden waren, was unglaublich langsam war.
Vor diesem Hintergrund wurde Presto 2013 als Open Source veröffentlicht und fand schnell Anklang bei anderen Datenpionieren, wie Airbnb, Uber und Netflix. Das Problem, mit dem sich Facebook konfrontiert sah, war bei weitem nicht einzigartig - es wurde nur früh erkannt. Im Laufe der Jahre ist der Bedarf an interaktiven und schnellen Datenabfragen über eine verteilte Speicherung immer größer geworden. Mit der zunehmenden Nutzung stiegen auch die Erwartungen der Nutzerinnen und Nutzer: Ursprünglich litten interaktive Abfragen oft unter inkonsistenten Ergebnissen, fehlender Schemaentwicklung und der Unmöglichkeit, frühere Tabellenversionen zu debuggen. Um diesen Erwartungen gerecht zu werden, haben sich die Tabellenformate vom ursprünglichen Hive-Tabellenformat weiterentwickelt und bieten nun umfangreichere Funktionen, wie sie in Data-Warehousing-Anwendungen zu finden sind, z. B. ACID-Transaktionsunterstützung und Indizes. Die Architektur von Presto wurde entwickelt, um diese Anforderungen flexibel zu erfüllen, was uns zu der heutigen Architektur des Lakehouse führt: eine kostengünstige verteilte Speicherung über einen Data Lake mit einer Leistung, die oft mit der von Warehousing-Appliances vergleichbar ist, und eine Benutzerfreundlichkeit, die einen Großteil der Funktionalität der Appliances bietet und die Notwendigkeit reduziert, die Daten zu extrahieren, zu transformieren und in andere Systeme zu laden (ETL).
Warum wir dieses Buch geschrieben haben
Der Einsatz von Presto, um die Anforderungen deines Teams an die Lager- und Seehausinfrastruktur zu erfüllen, ist kein kleines Unterfangen. Damit der Einsatz erfolgreich ist, musst du die Prinzipien von Presto und die Werkzeuge, die es bietet, verstehen. Wir haben dieses Buch geschrieben, um dich mit den Grundprinzipien von Presto vertraut zu machen, damit du Presto erfolgreich in deinem Unternehmen einsetzen und die Vorteile einer der leistungsstärksten verteilten Abfrage-Engines im Bereich der Datenanalyse nutzen kannst. Das Buch enthält auch Kapitel über das Ökosystem rund um Presto und darüber, wie du andere beliebte Open-Source-Projekte wie Apache Pinot, Apache Hudi und andere integrieren kannst, um noch mehr Anwendungsfälle mit Presto zu erschließen. Nach der Lektüre dieses Buches solltest du Presto in deinem Team einsetzen können und dich sicher fühlen, es auch in Zukunft zu pflegen.
Für wen dieses Buch ist
Dieses Buch richtet sich an Personen, die Datenplattformen für ihre Teams aufbauen. Zu ihren Aufträgen gehören Dateningenieure und -architekten, Plattformingenieure, Cloud-Ingenieure und/oder Softwareentwickler. Sie sind diejenigen, die die Plattform aufbauen und bereitstellen, die eine Vielzahl von miteinander verbundenen Produkten unterstützt. Zu ihren Aufgaben gehört es, dafür zu sorgen, dass alle Komponenten als ein einziges, integriertes Ganzes zusammenarbeiten, Probleme bei der Datenverarbeitung und -analyse zu lösen, Daten zu bereinigen, zu verwalten, umzuwandeln und zu deduplizieren sowie Tools und Technologien zu entwickeln, um die Analyseplattform zu verbessern.
In diesem Buch verwendete Konventionen
In diesem Buch werden die folgenden typografischen Konventionen verwendet:
- Kursiv
-
Weist auf neue Begriffe, URLs, E-Mail-Adressen, Dateinamen und Dateierweiterungen hin.
Constant width
-
Wird für Programmlistings sowie innerhalb von Absätzen verwendet, um auf Programmelemente wie Variablen- oder Funktionsnamen, Datenbanken, Datentypen, Umgebungsvariablen, Anweisungen und Schlüsselwörter hinzuweisen.
Constant width bold
-
Zeigt Befehle oder anderen Text an, der vom Benutzer wortwörtlich eingetippt werden sollte.
Constant width italic
-
Zeigt Text an, der durch vom Benutzer eingegebene Werte oder durch kontextabhängige Werte ersetzt werden soll.
Tipp
Dieses Element steht für einen Tipp oder eine Anregung.
Hinweis
Dieses Element steht für einen allgemeinen Hinweis.
Warnung
Dieses Element weist auf eine Warnung oder einen Warnhinweis hin.
Code-Beispiele verwenden
Zusätzliches Material (Code-Beispiele, Übungen usw.) steht unter https://github.com/alod83/Learning-and-Operating-Presto zum Download bereit .
Wenn du eine technische Frage oder ein Problem mit den Codebeispielen hast, sende bitte eine E-Mail an bookquestions@oreilly.com.
Dieses Buch soll dir helfen, deine Arbeit zu erledigen. Wenn in diesem Buch Beispielcode angeboten wird, darfst du ihn in deinen Programmen und deiner Dokumentation verwenden. Du musst uns nicht um Erlaubnis fragen, es sei denn, du reproduzierst einen großen Teil des Codes. Wenn du zum Beispiel ein Programm schreibst, das mehrere Teile des Codes aus diesem Buch verwendet, brauchst du keine Erlaubnis. Der Verkauf oder die Verbreitung von Beispielen aus O'Reilly-Büchern erfordert jedoch eine Genehmigung. Die Beantwortung einer Frage mit einem Zitat aus diesem Buch und einem Beispielcode erfordert keine Genehmigung. Wenn du einen großen Teil des Beispielcodes aus diesem Buch in die Dokumentation deines Produkts aufnimmst, ist eine Genehmigung erforderlich.
Wir freuen uns über eine Namensnennung, verlangen sie aber in der Regel nicht. Eine Quellenangabe umfasst normalerweise den Titel, den Autor, den Verlag und die ISBN. Zum Beispiel:"Presto lernen und bedienen" von Angelica Lo Duca, Tim Meehan, Vivek Bharathan und Ying Su (O'Reilly). Copyright 2023 O'Reilly Media, Inc. 978-1-098-14185-1."
Wenn du der Meinung bist, dass die Verwendung von Code-Beispielen nicht unter die Fair-Use-Regelung oder die oben genannte Erlaubnis fällt, kannst du uns gerne unter permissions@oreilly.com kontaktieren .
O'Reilly Online Learning
Hinweis
Seit mehr als 40 Jahren bietet O'Reilly Media Schulungen, Wissen und Einblicke in Technologie und Wirtschaft, um Unternehmen zum Erfolg zu verhelfen.
Unser einzigartiges Netzwerk von Experten und Innovatoren teilt sein Wissen und seine Erfahrung durch Bücher, Artikel und unsere Online-Lernplattform. Die Online-Lernplattform von O'Reilly bietet dir On-Demand-Zugang zu Live-Trainingskursen, ausführlichen Lernpfaden, interaktiven Programmierumgebungen und einer umfangreichen Text- und Videosammlung von O'Reilly und über 200 anderen Verlagen. Weitere Informationen erhältst du unter https://oreilly.com.
Wie du uns kontaktierst
Bitte richte Kommentare und Fragen zu diesem Buch an den Verlag:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Nord
- Sebastopol, CA 95472
- 800-889-8969 (in den Vereinigten Staaten oder Kanada)
- 707-829-7019 (international oder lokal)
- 707-829-0104 (Fax)
- support@oreilly.com
- https://www.oreilly.com/about/contact.html
Wir haben eine Webseite für dieses Buch, auf der wir Errata, Beispiele und zusätzliche Informationen auflisten. Du kannst diese Seite unter https://oreil.ly/learning-operating-presto-1e aufrufen .
Neuigkeiten und Informationen über unsere Bücher und Kurse findest du unter https://oreilly.com.
Finde uns auf LinkedIn: https://linkedin.com/company/oreilly-media
Folge uns auf Twitter: https://twitter.com/oreillymedia
Schau uns auf YouTube: https://youtube.com/oreillymedia
Danksagungen
Dieses Buch ist das Ergebnis der Arbeit vieler Beteiligter, die alle ihr einzigartiges Fachwissen, ihre Einsichten und ihr Engagement einbringen, um den Erfolg dieses Buches zu gewährleisten. Zunächst möchten wir uns bei den technischen Gutachtern Chunxu Tang, Andreas Kaltenbrunner und Scott Haines bedanken, die sich die Zeit genommen haben, konstruktives Feedback zu geben. Ihre Einsichten und Vorschläge waren entscheidend für die Gestaltung des Endprodukts, und wir wissen es zu schätzen, dass ihr euch so engagiert für die Verbesserung der Qualität dieser Arbeit eingesetzt habt.
Außerdem danken wir Wen Phan für seine Großzügigkeit, sein Fachwissen zu teilen, insbesondere in Kapitel 5. Dein Wissen und deine Erkenntnisse haben den Inhalt sehr bereichert, und wir sind dir sehr dankbar für deine Beiträge.
Wir möchten auch dem Akquisitionsredakteur bei O'Reilly, Aaron Black, unseren aufrichtigen Dank dafür aussprechen, dass er an das Konzept dieses Buches geglaubt hat und uns die Möglichkeit gab, es zum Leben zu erwecken. Ihre Beratung und Unterstützung während des gesamten Prozesses war von unschätzbarem Wert. Dem Entwicklungsredakteur Gary O'Brien danke ich für sein unermüdliches Engagement, dieses Buch so gut wie möglich zu machen. Deine Liebe zum Detail und deine aufschlussreichen Vorschläge haben den Inhalt wirklich aufgewertet, und wir sind dankbar für dein Fachwissen und dein Engagement.
Ein besonderer Dank geht schließlich an das gesamte O'Reilly-Team, das hinter den Kulissen unermüdlich daran gearbeitet hat, dass dieses Buch Wirklichkeit wird. Eure harte Arbeit, Professionalität und Begeisterung sind wirklich lobenswert.
Angelika Lo Duca
Zuerst danke ich meinem Mann Andrea für seine Geduld und Ermutigung beim Schreiben dieses Buches. Danke für die tröstenden Worte und unsere langen Gespräche über Motivation. Ein herzliches Dankeschön an meine Kinder, die mit ihrer Freude und ihren Spielen meine Stunden am Computer begleitet haben, sie mit ihren zu schreibenden Büchern und ich mit meinen. Und schließlich ein besonderer Dank an den Herrn und Gott meines Lebens, Jesus Christus, der mich dazu berufen hat, die Ergebnisse meiner Studien und Forschungen mit Freude zu teilen. Denn bei allem ist die Freude am Geben größer als am Nehmen.
Tim Meehan
Meiner Frau und meinem Sohn, die mich auf dieser Reise geduldig begleitet haben. Girish Balliga für seine Einsichten und die Leitung der Presto Foundation. Meinen Kollegen bei Meta und IBM für ihre Freundschaft, Unterstützung, Anleitung und Inspiration, insbesondere James Sun, Masha Basmanova, Steven Mih und Ali LeClerc.
Vivek Bharathan
Ein herzliches Dankeschön an meine Presto-Community für Gespräche, Bearbeitungen, Erkenntnisse und andere Beiträge zu diesem Buch. Ein besonderer Dank geht an Reetika Agrawal, Rohan Pednekar und Devesh Agrawal. An Ali LeClerc, dessen Hilfe bei dieser Zusammenarbeit von unschätzbarem Wert war. Stephen Mih und Dipti Borkar, deren Vision und Inspiration uns so weit gebracht haben. David Simmen, der uns geführt und geleitet hat. Und schließlich an meine Frau Priya und meine Tochter Raksha, deren unerschütterliche Unterstützung während dieser Reise alles möglich gemacht hat.
Ying Su
Meinen lieben Eltern, die mir unendlich viel Liebe, Fürsorge und Unterstützung gegeben haben. Danke an Steven Mih, Dipti Borker und David Simmen für ihre Vision, ihren Mut, ihre unermüdliche Arbeit und ihr enormes Vertrauen und ihre Unterstützung. Danke an meine Kolleginnen und Kollegen bei Ahana, IBM und Meta für ihre Freundschaft, Beratung und Inspiration!
Get Presto lernen und bedienen now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.