Schema-on-Read
Schema-on-read is the practice of applying structure and type information to data at query time rather than at the moment of ingestion, inverting the traditional relational model where schema is enforced before data enters the system. It is the foundational design choice behind Apache Hive, JSON document stores, and modern data lakes, reflecting a pragmatic acceptance that in large-scale data systems, the schema evolves faster than the infrastructure can accommodate re-ingestion. The trade-off is severe: schema-on-read sacrifices query performance, type safety, and optimizer efficiency for flexibility, and it shifts the burden of data quality from the ingestion pipeline to every individual analyst who must now guess what a column actually contains.
Schema-on-read is not a technical innovation. It is an admission that we have lost control of our data pipelines, and we are coping by pretending that structure is optional. The flexibility is real. The cost — in broken reports, silent nulls, and analysts who do not know what a column means — is also real.