A data lakehouse is an analytical data architecture that combines a data lake's low-cost raw storage with a data warehouse's structured query performance in a single unified system. Teams building analytics stacks have historically had to choose between two incompatible patterns: a data warehouse that enforces structure before data lands, or a data lake that stores anything cheaply and figures out structure later. A lakehouse removes that tradeoff by adding transactional guarantees directly to files sitting in object storage, so one platform can serve both a BI dashboard and a machine learning training job from the same governed copy of data.
This is an OLAP, or online analytical processing, decision: how an organization stores and queries data for reporting and model training. It sits apart from OLTP engine selection, the decision covered in microservices communication and adjacent architecture topics, which is about serving live application reads and writes on different technology entirely.
What a Data Lakehouse Actually Unifies

A data lakehouse is a data management system that combines the benefits of data lakes and data warehouses, according to Databricks. The taxonomy is straightforward once separated by how each system treats structure. A data warehouse is schema-on-write: table structure, column types, and constraints exist before a single row loads, so every query afterward runs against a known shape. Databricks puts it plainly: the data warehouse itself is schema-on-write and atomic, designed to prevent conflicts between concurrently running queries against data unlikely to change with high frequency. A data lake is the opposite: schema-on-read, where data lands in whatever native format it arrives in and structure is applied only at query time.
A lakehouse layers warehouse-grade transactional guarantees directly on top of lake-grade object storage, which eliminates the need to copy data between two separate systems, the operational cost every warehouse-plus-lake stack pays today.
OLAP Architecture, Not OLTP Engine Selection
Analytical data architecture answers how an organization stores and queries data for reporting and machine learning at scale. OLTP engine selection answers how to serve live application traffic. The stacks rarely overlap: a lakehouse choice runs alongside Snowflake, Google BigQuery, Amazon Redshift, or Databricks, while an application's transactional layer runs on PostgreSQL, MongoDB, or Redis. Running analytical aggregate queries directly against a production transactional database is a common early mistake, and dashboard load times climb as the application grows.
Data Warehouse: Schema-on-Write for Structured Analytics
A data warehouse enforces schema-on-write, so table structure exists before any data arrives and every load must conform to it. That constraint is what makes columnar storage viable: a column-oriented layout groups values from the same field together on disk, so an aggregate query that needs two columns out of twenty scans only those two instead of every full row. This is why a data warehouse runs a SUM or GROUP BY query across billions of rows in seconds, while the same query against a row-oriented transactional store degrades as the table grows.
ACID transaction guarantees on writes matter for consistent reporting: a dashboard should never surface numbers from a batch load that committed halfway through. Databricks frames the tradeoff directly: enterprise data warehouses optimize queries for BI reports, but can take minutes or hours against very large or exploratory queries run outside the curated schema. Snowflake, Google BigQuery, and Amazon Redshift represent the current generation of cloud data warehouses, each separating storage from compute so query capacity scales independently of stored volume. Amazon's own Redshift documentation confirms the platform regularly releases new cluster versions, underscoring that cloud data warehouses are under continuous vendor development rather than static products.
A data warehouse fits known, stable reporting schemas and regulatory or financial reporting that demands strict consistency. It is a poor fit for raw semi-structured data before its shape is understood, machine learning pipelines that need full-fidelity source data, or any schema that changes weekly.
Why Columnar Storage Changes Query Economics
- Row storage keeps every column of one record contiguous, efficient for fetching a single full record but wasteful for an aggregate that needs only two of twenty columns.
- Columnar storage groups values from the same column together, so an aggregate query reads only the referenced columns, cutting I/O dramatically on wide analytical tables.
- Columnar layouts compress far better than row layouts, since values in one column share a type and often a narrow range, reducing both storage cost and data scanned per query.
Data Lake: Schema-on-Read for Raw, Diverse Data
A data lake applies schema-on-read, storing data in whatever native format it arrives in, whether JSON, CSV, Parquet, images, or log streams, and leaving structure to be applied only when a query engine actually reads it. Object storage, specifically Amazon S3, is the foundational layer most data lakes are built on. AWS states plainly that S3 became the foundation of modern data lakes, enabling organizations to centralize structured and unstructured data and run analytics without managing complex infrastructure, and that S3 supports open table formats like Apache Iceberg, letting teams query a single, reliable copy of data with their preferred engine.
The well-known failure mode is raw storage with no governance layer: files accumulate with no catalog, no schema versioning, and no reliable way to know which files are current, a state the industry calls a data swamp. Object storage is priced per gigabyte with no compute attached, so it retains years of raw data at a price a warehouse's structured, indexed storage cannot match at the same depth. A data lake is the correct choice for ingesting high-volume raw data of unknown future shape and for machine learning training sets that need full-fidelity source data. It is a poor fit for interactive BI dashboards that need fast, indexed responses.
Avoiding the Data Swamp
A data swamp forms when a lake accumulates files without a catalog, schema tracking, or a table format that gives queries ACID transaction guarantees. The industry's fix is layering an open table format, such as Apache Iceberg, Delta Lake, or Apache Hudi, plus a catalog on top of the raw object storage, the direct bridge into the lakehouse pattern.
Lakehouse: Open Table Formats Unify Both Patterns
A data lakehouse combines the benefits of data lakes and data warehouses by giving files already sitting in object storage the ACID transaction guarantees and query performance that used to require a dedicated warehouse engine. Open table formats, chiefly Delta Lake and Apache Iceberg, with Apache Hudi as a third option, make this possible. Databricks documents Delta Lake as an optimized storage layer supporting ACID transactions and schema enforcement, paired with Unity Catalog, described as a unified governance solution: a single, fine-grained unified governance layer for data and AI across every table in the lakehouse.
Databricks SQL is described by Databricks as a cloud data warehouse built on lakehouse architecture that runs directly on the data lake, supporting ANSI SQL with Delta Lake extensions to build cost-effective warehouses without moving data. AWS has taken a competing, Iceberg-based route: the next generation of Amazon SageMaker is built on an open lakehouse architecture, fully compatible with Apache Iceberg, unifying Amazon S3 data lakes and Amazon Redshift data warehouses on a single copy of data.
Without a lakehouse, an organization typically copies raw data from a lake into a separate warehouse for BI, creating duplicate storage cost and two systems that can silently drift out of sync. A lakehouse removes that copy step by letting both raw-data and structured BI workloads query the same underlying files. Lakehouse is not a single standardized architecture, though; it is a vendor-pushed pattern with real implementation differences between an Iceberg-first stack and a Delta Lake-first stack, so choosing one is also choosing a table-format ecosystem.
Data Warehouse vs Data Lake vs Lakehouse at a Glance
| Attribute | Data Warehouse | Data Lake | Data Lakehouse |
|---|---|---|---|
| Schema approach | Schema-on-write | Schema-on-read | Schema-on-write and schema-on-read via an open table format |
| Storage format | Proprietary columnar tables | Raw native files in object storage | Open table format (Delta Lake or Apache Iceberg) over object storage |
| Primary workload | BI dashboards and structured reporting | Machine learning training and raw data retention | Both BI and machine learning against a single copy of data |
| Transaction guarantees | Full ACID | Typically none without an added table format | Full ACID via the open table format layer |
| Cost profile | Higher per gigabyte for structured, indexed storage | Low per gigabyte for raw object storage | Low per gigabyte object storage with warehouse-grade query performance |
| Representative platforms | Snowflake, Google BigQuery, Amazon Redshift | Amazon S3, Azure Data Lake Storage | Databricks Lakehouse, Amazon SageMaker Lakehouse |
For the OLTP counterpart to this table, comparing engines that serve live application traffic rather than analytics, see the database selection guide comparing PostgreSQL, MongoDB, and Redis. That article covers which transactional store to build an application on; this one covers which analytical architecture to build reporting and machine learning on.
ETL vs ELT and the Medallion Architecture
A lakehouse's pipeline design separates two decisions: which loading strategy to use, and how to layer data toward business readiness. ETL, extract, transform, load, transforms data before it lands in the target system, fitting a warehouse's schema-on-write requirement since the data must already match the target schema on arrival. ELT, extract, load, transform, loads raw data first and transforms it inside the target system afterward, fitting a lake's schema-on-read model, and is the pattern a lakehouse's compute-on-storage design enables cheaply since storage and transformation compute are decoupled.
The medallion architecture is the standard layering pattern inside a lakehouse, and it is what gives a lakehouse's unified governance layer something concrete to enforce as data matures. The bronze layer holds raw, unprocessed data exactly as ingested, preserving full fidelity for reprocessing or audit. The silver layer holds cleaned, validated, joined data, and per Databricks and Microsoft's own documentation is also where teams integrate data from disparate sources to build a data warehouse aligned with existing business processes; a well-run silver layer is the checkpoint where most schema and quality problems surface before they reach reporting. The gold layer holds business-level aggregates ready for BI tools and machine learning feature stores, matching a dedicated warehouse's query performance while built entirely on lakehouse storage, and a gold layer is typically the only layer most business users ever query directly. This medallion architecture is how a lakehouse actually replaces the old lake-plus-warehouse pattern: data moves through progressively structured layers instead of being copied into a second system.
Choosing ETL or ELT for a Given Layer
- Bronze layer ingestion almost always uses ELT, loading raw data as-is with no upfront transformation, because the goal is fidelity and ingestion speed.
- Bronze-to-silver movement applies transformation rules, such as deduplication and join logic, after the raw data already lives in the lakehouse, which is ELT even though the result resembles a traditional ETL outcome.
- Silver-to-gold aggregation is where warehouse-style ETL thinking reappears: business logic such as revenue rollups and session metrics is applied before data reaches BI tools, since gold-layer consumers expect stable, pre-aggregated numbers.
- A pure ETL pipeline into a traditional data warehouse remains right when the source schema is well known and stable enough that transforming before load adds no meaningful latency, common in finance and other tightly governed domains.
Choosing Between Data Warehouse, Data Lake, and Lakehouse
A pure data warehouse is right when analytics needs are fully known, structured, and dominated by BI reporting with no machine learning or unstructured data requirement, such as a small business running monthly financial reports. A data lake alone should rarely be the sole analytics destination and works best as a staging or archival layer, since raw files without a table format degrade into a data swamp over time. A data lakehouse fits when an organization needs both BI-grade query performance and machine learning access to raw, full-fidelity data from one governed source, now the default recommendation from AWS, Databricks, and Microsoft alike. For a team starting fresh, building on an open table format from day one avoids the later cost of migrating a mature warehouse-only or lake-only system into a unified architecture.
Further reading
- Microservices Communication: gRPC vs REST vs Message Queues
- Database Selection Guide: PostgreSQL vs MongoDB vs Redis
References
- Amazon S3 (AWS)
- Amazon SageMaker Lakehouse (AWS)
- Amazon Redshift cluster-version documentation (AWS)
- What Is a Data Lakehouse (Databricks)
- Databricks SQL documentation (Databricks)
- Data warehousing concepts (Microsoft Learn)
Frequently Asked Questions
Does a data lakehouse fully replace a data warehouse?
No, a data lakehouse absorbs the data warehouse's structured query capability rather than eliminating the need for it entirely. A lakehouse adds an open table format such as Delta Lake or Apache Iceberg on top of object storage so the same platform can serve both BI-grade structured queries and raw-data machine learning workloads, which is why Databricks describes its own SQL product as a cloud data warehouse built on lakehouse architecture rather than a warehouse replacement. Organizations with narrow, stable, fully structured reporting needs and no machine learning or unstructured data requirement can still run a standalone data warehouse without a meaningful downside.
What is the practical difference between Delta Lake and Apache Iceberg?
Delta Lake and Apache Iceberg both add ACID transactions and schema enforcement to files sitting in object storage, but they come from different vendor ecosystems and are not simply interchangeable. Delta Lake originated with and remains most tightly integrated into the Databricks lakehouse platform, while Apache Iceberg is the format Amazon has standardized on for its newer SageMaker Lakehouse and Redshift integration work. Choosing one over the other is effectively choosing which vendor's tooling, catalog, and query-engine compatibility an organization commits to, so the decision should follow which cloud platform and compute engines are already in use rather than treating the two formats as equivalent defaults.
Does ELT mean giving up data quality control in a lakehouse?
No, ELT moves data quality enforcement later in the pipeline rather than removing it. In a lakehouse's medallion architecture, raw data lands untouched in the bronze layer, then quality rules, deduplication, and validation are applied when building the silver layer, and business-level aggregation happens again when building the gold layer, so the same quality controls a traditional ETL pipeline applies before load still exist, just inside the target platform instead of in a separate transformation step beforehand. The tradeoff is that flawed source data is visible in the bronze layer before cleanup, which most teams treat as an advantage for auditability rather than a quality gap.









