Data Lakes and Lakehouses
Data lakes store large volumes of raw data in its original format for later processing, while lakehouses add a structured metadata and transaction layer on top so the same storage supports both analytics queries and machine learning workloads with warehouse-like reliability.
itData engineering and analytics | OpenSkills.info
Intro
Data Lakes and Lakehouses
A data lake is an architectural approach for keeping varied data in a shared repository. You can retain structured tables, events, documents, images, and other data before every use is known.
A lakehouse adds a table-management layer over lake storage. That layer gives files database-like behavior, including transactions, versioned table state, schema controls, and query-planning metadata.
The central mental model is files below, tables above.
producers -> ingestion -> object storage and data files
|
v
table metadata and catalog
|
v
SQL, streaming, notebooks, ML, and BI
Storage holds objects. A file format organizes values inside each object. A table format records which files form a table at a given point. A catalog helps engines and people find that table. Compute engines read the metadata and files to perform work.
These layers are separate choices. Calling object storage a lakehouse does not make it one. The table-management layer is the defining addition.
Why data lakes exist
Operational databases optimize application transactions. Data warehouses organize curated analytical data for reporting and business intelligence. Neither role covers every data shape or every analytical workload.
A data lake provides a common storage foundation. Producers can land source data, then different engines can transform or analyze it. Cloud designs often separate storage from compute, so each can scale and change independently.
This flexibility supports several needs:
- retain source data before all downstream questions are known;
- combine structured, semi-structured, and unstructured data;
- use different processing engines over shared storage;
- prepare data for SQL analysis, data science, and machine learning;
- keep raw, transformed, and curated data under one governance model.
Flexibility does not remove engineering work. A usable lake still needs metadata, ownership, access control, quality controls, lifecycle rules, and reliable pipelines.
Why lakehouses exist
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.aws.amazon.com/whitepapers/latest/building-data-lakes/building-data-lake-aws.html
Supports
- Data lakes as centralized repositories for structured, semi-structured, and unstructured data
- Separation and independent scaling of cloud storage and compute
- Cataloging, security, in-place transformation, querying, and sharing as data-lake capabilities
- Raw, transformed, and curated storage layers
- https://www.cidrdb.org/cidr2021/papers/cidr2021_paper17.pdf
Supports
- The lakehouse architectural definition and motivation
- A metadata, caching, and indexing layer over data files in open formats
- Transactions, versioning, and auxiliary data structures over data-lake files
- Support goals spanning SQL, data science, and machine-learning workloads
- Data-management challenges in two-tier lake and warehouse architectures
- https://parquet.apache.org/docs/overview/
Supports
- Parquet as an open source, column-oriented analytical file format
- Efficient storage and retrieval through compression and encoding
- Variation in feature support across Parquet implementations
- https://parquet.apache.org/docs/file-format/
Supports
- Parquet file layout using row groups and column chunks
- File metadata that locates column chunks
- Reader selection of required column chunks
- https://parquet.apache.org/docs/file-format/metadata/
Supports
- Per-file and page-header metadata in Parquet
- Metadata for navigating data within a Parquet file
- https://iceberg.apache.org/spec/
Supports
- Table metadata, snapshots, manifest lists, manifests, and data files
- Snapshots as representations of table state
- Metadata and file statistics used to avoid irrelevant reads
- Atomic metadata replacement as the basis for serializable isolation
- Optimistic concurrency for table commits
- https://iceberg.apache.org/docs/latest/
Supports
- Iceberg as an open table format for analytical datasets
- Schema evolution, hidden partitioning, partition evolution, and time travel
- Integration with multiple compute engines
- https://iceberg.apache.org/docs/latest/partitioning/
Supports
- Partitioning as grouping related rows to improve reads
- Hidden partitioning derived from logical source columns
- Separation of query logic from physical partition layout
- Evolution of partition schemes over time
- https://iceberg.apache.org/docs/latest/evolution/
Supports
- In-place schema and partition evolution
- Stable column identifiers for correct schema changes
- Coexistence of old and new partition layouts
- Partition evolution as a metadata operation without eager data rewrite
- https://iceberg.apache.org/docs/latest/fileio/
Supports
- Separation of processing-engine data writes from table metadata commits
- New metadata files capturing a changed table state
- File access abstractions across storage providers
- https://iceberg.apache.org/docs/latest/flink-maintenance/
Supports
- Small-file compaction, snapshot expiration, and orphan-file cleanup as table maintenance
- Scheduled and triggered maintenance operations
- Compaction that targets file layout and storage efficiency
- https://iceberg.apache.org/javadoc/latest/org/apache/iceberg/RewriteFiles.html
Supports
- File replacement that preserves the set of live table records
- Commit validation and conflict handling during file rewrites
- https://docs.delta.io/
Supports
- Delta Lake as an open source table-management layer over data lakes
- ACID transactions, schema enforcement, metadata handling, and time travel
- Streaming and batch table access
- Update, merge, and delete capabilities
- https://docs.aws.amazon.com/whitepapers/latest/building-data-lakes/securing-protecting-managing-data.html
Supports
- Fine-grained data-lake access control and protection requirements
- Separate permissions for catalog metadata and underlying stored data
- Central governance through catalog-integrated policy
- Encryption, access policy, and audit considerations
- https://docs.aws.amazon.com/prescriptive-guidance/latest/data-lake-for-growth-scale/reference-architecture.html
Supports
- A centralized catalog between data producers and consumers
- Standardized data sharing and independent scaling of producers and consumers
