Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Lakehouse and Open Table Format: A new Architecture for Big Data

Data Lakehouse and Open Table Format: A new Architecture for Big Data

Today's world is dominated by big data and the opportunities it presents. From medicine to agriculture, there is no sector that is not affected by it. But harnessing and managing it is a challenge. In recent years, data lakes have emerged as the ideal solution for big data analysis. A data lake stores data from different sources and in different formats in its raw state. This offers great advantages, including system scalability, compute-on-demand to optimize costs, and the ability to iteratively adjust analytic processes to extract new, previously hidden information from existing data. However, data lakes also present data governance challenges, including inadequate support for ACID transactions and versioning mechanisms. Experts are proposing a new solution: the data lakehouse, a hybrid of data lake and data warehouse that combines the compliance of data warehouses with the flexibility of data lakes. This is made possible by an emerging technology: the Open Table Format. This talk introduces the architecture of the data lakehouse and the technology of the Open Table Format with special reference to Apache Iceberg.

Christian Del Monte

October 13, 2023
Tweet

Other Decks in Programming

Transcript

  1. | Christian Del Monte – adesso se
    DATA LAKEHOUSE UND OPEN TABLE FORMAT:
    EINE NEUE ARCHITEKTUR FÜR BIG DATA
    Photo by Zainal Azrin Mohamad Saari on Unsplash

    View Slide

  2. ABOUT ME
    − Software-Architekt bei der adesso SE
    − Über 20 Jahre Erfahrung im B2B und B2C Bereich
    − Umgang mit einer Vielzahl von Software-Architekturen, die mit
    unterschiedlichen IT-Technologien und Frameworks realisiert wurden
    − Schwerpunkte: Data Lakes, DevOps sowie hochverfügbare,
    echtzeitnahe Softwaresysteme und deren Umsetzung mit Mitteln wie
    Cloud, Microservices und Event Driven Architecture
    Linkedin: linkedin.com/in/christian-del-monte-61b18936
    CHRISTIAN DEL MONTE
    | 2

    View Slide

  3. AGENDA
    Apache Iceberg
    4
    Data Lake
    2
    Big Data
    1
    | 3
    Data Lakehouse und Open Table Formats
    3

    View Slide

  4. BIG DATA

    View Slide

  5. BIG DATA
    Big Data
    variety
    velocity
    volume
    value
    veracity
    DEFINITION VON BIG DATA
    | 5
    Big Data sind Daten, die sich durch ein hohes Volumen,
    eine hohe Velocity, hohe Variety, eine variable Veracity
    und einen potenziell hohen Value für Business-
    Intelligence-Prozesse auszeichnen.

    View Slide

  6. BIG DATA
    Data Source n
    Abbildung der Architektur eines Data
    Warehouse aus: Müller, Roland M., Lenz,
    Hans-Joachim; Business Intelligence;
    Springer; 2013
    TYPISCHE ETL ARCHITEKTUR
    | 6

    View Slide

  7. BIG DATA
    HERAUSFORDERUNGEN
    | 7
    Behandlung von Data Streams unterschiedlicher Geschwindigkeit, Häufigkeit, Menge und Komplexität
    Inverse Relation zwischen Quantität und Qualität der Daten
    Zunehmendes Datenvolumen
    Große Anzahl von heterogenen Datenquellen
    Komplexität des Ausgabeprozesses
    Einhaltung der Sicherheits- und Datenschutzbestimmungen der Daten
    Datenqualität von externen Quellen nicht verifizierbar
    Gewährleistung der Datenqualität
    Daten benötigt für eine gegebene Analyse sind nur ein Bruchteil der gesamten Datenmenge

    View Slide

  8. DATA LAKE

    View Slide

  9. DATA LAKE
    − Repository von Rohdaten unterschiedlicher Art, strukturiert, halbstrukturiert oder unstrukturiert.
    − Die Datenquellen können vielfältig und heterogen sein.
    − Das Repository kann mit einer oder mehreren verschiedenen Technologien aufgebaut werden.
    − Der Data Lake umfasst:
    • Metadatenkataloge für Data Reasoning, Abfrageverarbeitung und
    Datenqualitätsmanagement.
    • Datenverwaltungstools für die Integration, Transformation und Bereinigung von Daten.
    • Richtlinien und Tools zur Datenverwaltung.
    − Der Data Lake bietet verschiedenen Arten von Benutzern Schnittstellen zum Erkunden, Abfragen
    und Verwalten von Daten und Metadaten.
    − Der Data Lake kann vor Ort oder in der Cloud implementiert werden.
    EINE DEFINITION
    | 9

    View Slide

  10. DATA LAKE
    | 10
    NUTZER

    View Slide

  11. DATA LAKE
    | 11
    KONTEXT-ARCHITEKTUR

    View Slide

  12. DATA LAKE
    Data
    Ingestion
    Metadata Extraction
    Ermittlung von Metadaten-
    informationen, die für den Zugriff
    auf einen Datensatz wichtig sind,
    z. B. Name, Extension, Datenstruktur.
    Metadata Modeling
    Graphen-strukturiertes Datenmodell
    | 12
    DATA INGESTION

    View Slide

  13. DATA LAKE
    Data Lake
    Maintenance
    Dataset preparation and organization
    Discover related datasets
    Data integration
    Metadata enrichment
    Data quality improvement
    | 13
    DATA MAINTENANCE

    View Slide

  14. DATA LAKE
    Data
    Exploration
    Query driven
    data discovery
    Query
    heterogeneous
    data
    | 14
    DATA EXPLORATION

    View Slide

  15. DATA LAKE
    File Based Storage Systems
    Single Data Store
    Multistore Systems
    | 15
    DATENARCHIVIERUNG

    View Slide

  16. DATA LAKE
    HERAUSFORDERUNGEN
    | 16
    Datenqualität und -integrität
    Metadatenmanagement
    Datensicherheit und Zugriffskontrolle
    Datenprovenienz und –historie
    Skalierung und Performance
    Komplexität der Abfrage
    Data Governance und Compliance
    Kostenmanagement
    Verfügbarkeit und Ausfallsicherheit
    Werkzeuge und Fähigkeiten

    View Slide

  17. DATA LAKE
    − Schwierigkeiten bei der Bereitstellung von ACID-Garantien:
    − Atomicity,
    − Consistency
    − Isolation
    − Durability
    − Durchführen effizienter Aktualisierungen und Löschungen auf Datensatzebene, wenn sich
    Daten in Ihrem Unternehmen ändern
    − Verwaltung der Abfrageleistung, wenn Tabellen auf Millionen von Dateien und
    Hunderttausende von Partitionen anwachsen
    − Sicherstellung der Datenkonsistenz bei mehreren gleichzeitigen Schreib- und Lesevorgängen
    − Verhinderung von Datenbeschädigungen durch teilweise fehlgeschlagene Schreibvorgänge
    − Entwicklung von Tabellenschemata im Laufe der Zeit ohne (teilweises) Neuschreiben von
    Datensätzen
    FEHLENDE ACID-GARANTIEN
    | 17

    View Slide

  18. DATA LAKEHOUSE UND OPEN TABLE FORMATS

    View Slide

  19. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    | 19
    DATABASE ARCHITEKTUR
    Petrov, Alex. Database Internals: A
    Deep Dive into How Distributed Data
    Systems Work. O'Reilly, 2019

    View Slide

  20. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    − datenzentrierte Architektur mit Data-Lake-Funktionen, die es ermöglichen, Daten in
    ihrer Rohform zu speichern, und mit Data-Warehouse-Funktionen, die eine effiziente
    Verarbeitung und Abfrage von Daten ermöglichen.
    − Typische Eigenschaften:
    − Skalierbarkeit
    − Integration
    − Datenqualität und Governance
    − Verarbeitung
    − Abfrageoptimierung
    − Analytics
    DATA LAKEHOUSE: EINE DEFINITION
    | 20

    View Slide

  21. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    DATA LAKEHOUSE: EINE DEFINITION
    | 21
    Schlesinger, Denise. Building a Data Lakehouse using Azure Data Explorer. Microsoft Tech Community, 27 Apr 2023.
    https://techcommunity.microsoft.com/t5/startups-at-microsoft/part-1-building-a-data-lakehouse-using-azure-data-explorer/ba-p/3805913

    View Slide

  22. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    | 22
    TABLE FORMAT
    Was ist ein Table Format?
    “A way to organize a dataset’s files
    to present them as a single table.”
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-
    covers/#toc_item_Iceberg%20catalog

    View Slide

  23. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    | 23
    OPEN TABLE FORMATS
    Apache Hudi
    Apache Iceberg
    Delta Lake

    View Slide

  24. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    | 24
    HIVE TABLE FORMAT

    View Slide

  25. DATA LAKEHOUSE UND OPEN TABLE FORMATS
    | 25
    HIVE: GRENZEN
    Ineffiziente Datenänderungen
    Unfähigkeit zur konsistenten Änderung von Daten in mehreren Partitionen
    Unsichere gleichzeitige Datenänderung
    Langsame Verzeichnisauflistungen
    Abhängigkeit von der physischen Struktur
    Veraltete Tabellenstatistiken
    Leistungsprobleme bei Cloud-Objektspeicher

    View Slide

  26. APACHE ICEBERG

    View Slide

  27. APACHE ICEBERG
    | 28
    FEATURES
    Schema-Evolution
    ACID-Transaktionen
    Partitionierung
    Partition evolution
    Time Travel
    Metadaten-Verwaltung
    Abfrageschnittstelle
    Kompatibilität
    Optimierungen

    View Slide

  28. APACHE ICEBERG
    | 29
    TABLE FORMAT
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-covers/#toc_item_Iceberg%20catalog

    View Slide

  29. APACHE ICEBERG
    | 30
    ICEBERG CATALOG
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-covers/#toc_item_Iceberg%20catalog

    View Slide

  30. APACHE ICEBERG
    | 31
    METADATA FILE
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-covers/#toc_item_Iceberg%20catalog

    View Slide

  31. APACHE ICEBERG
    | 32
    MANIFEST LIST
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-covers/#toc_item_Iceberg%20catalog

    View Slide

  32. APACHE ICEBERG
    | 33
    MANIFEST FILE
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-covers/#toc_item_Iceberg%20catalog

    View Slide

  33. APACHE ICEBERG
    | 34
    CRUD: CREATE TABLE
    CREATE TABLE table1 (
    order_id BIGINT,
    customer_id BIGINT,
    order_amount DECIMAL(10, 2),
    order_ts TIMESTAMP
    )
    USING iceberg
    PARTITIONED BY ( HOUR(order_ts) );
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-
    covers/#toc_item_Iceberg%20catalog

    View Slide

  34. APACHE ICEBERG
    | 35
    CRUD: INSERT
    INSERT INTO table1 VALUES (
    123,
    456,
    36.17,
    '2021-01-26 08:10:23'
    );
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-
    covers/#toc_item_Iceberg%20catalog

    View Slide

  35. APACHE ICEBERG
    | 36
    CRUD: MERGE INTO + UPSERT
    MERGE INTO table1
    USING ( SELECT * FROM table1_stage ) s
    ON table1.order_id = s.order_id
    WHEN MATCHED THEN
    UPDATE table1.order_amount = s.order_amount
    WHEN NOT MATCHED THEN
    INSERT *
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-
    covers/#toc_item_Iceberg%20catalog

    View Slide

  36. APACHE ICEBERG
    | 37
    CRUD: SELECT
    SELECT *
    FROM db1.table1
    Hughes, Jason, „Apache Iceberg: An Architectural Look Under the Covers”
    https://www.dremio.com/resources/guides/apache-iceberg-an-architectural-look-under-the-
    covers/#toc_item_Iceberg%20catalog

    View Slide

  37. Hidden Partitioning
    Time Travel
    Compaction
    APACHE ICEBERG
    | 38
    ANDERE FEATURES
    SELECT *
    FROM db1.table1
    SELECT *
    FROM table1 AS OF '2021-01-28 00:00:00'
    CALL catalog.system.rewrite_data_files( table => 'table1',
    strategy => 'binpack', options => map('min-input-files','2') )

    View Slide

  38. APACHE ICEBERG
    | 39
    A QUICK START
    https://github.com/tabular-io/docker-spark-iceberg

    View Slide

  39. APACHE ICEBERG
    | 40
    MEHR INFOS
    − https://iceberg.apache.org/
    − https://iceberg.apache.org/spark-quickstart/
    − Tomer Shiran, Jason Hughes, Alex Merced, Dipankar Mazumdar.
    Apache Iceberg, the definitive Guide – Early Release. O‘Reilly, 2023
    https://hello.dremio.com/wp-apache-iceberg-the-definitive-guide-
    reg.html
    − Shana Schipers, Ian Meyers, and Carlos Rodrigues.
    Choosing an open table format for your transactional data lake on
    AWS. 09 JUN 2023. https://aws.amazon.com/de/blogs/big-
    data/choosing-an-open-table-format-for-your-transactional-data-lake-
    on-aws/

    View Slide

  40. | Christian Del Monte – adesso se
    DANKE!
    ZEIT FÜR IHRE FRAGEN

    View Slide

  41. KONTAKT
    Christian Del Monte: Software-Architekt bei der adesso SE
    Linkedin: https://www.linkedin.com/in/christian-del-monte-61b18936/
    | 42

    View Slide