Glossary
Schema-on-read
Storing data in its raw form and applying structure only at query time, instead of when it is first loaded.
Schema-on-read stores data in whatever raw form it arrives in — JSON, CSV, log lines, Parquet files — without enforcing a fixed structure at load time, and instead applies a schema when the data is queried, interpreting the raw bytes according to whatever structure that particular query or tool expects. It is the default approach of a data lake.
This is the opposite of schema-on-write, used by traditional databases and warehouses, which validate and enforce a table's structure before any row is accepted, rejecting or coercing data that does not fit. Schema-on-read trades that upfront validation for flexibility: data can be ingested immediately, even before anyone has decided exactly how it should be modeled, and different consumers can apply different structures to the same raw data for different purposes.
The benefit is speed and flexibility of ingestion, especially for semi-structured or fast-changing data where defining a rigid schema upfront would slow everything down; the cost is that structural problems — a field that unexpectedly changes type, a missing column — surface only when a query runs, rather than at load time. Most modern data lakehouse platforms blend the two: raw ingestion is schema-on-read, but an open table format layer on top adds enforced schema and schema evolution rules for the tables built from that raw data.
Last reviewed September 22, 2026