A data warehouse is a database where data from different systems is stored and modeled to support analysis and other activities related to answering questions with it. Data in a data warehouse is structured and optimized for reporting and analysis queries.

An example of a data warehouse is Snowflake.

A Data Lake is where data is stored, but without the structure or query optimization of a data warehouse. It contains a high volume of data as well as a variety of data types.

For example, a single data lake might contain a collection of sales data stored as CSV files, blog posts stored as text files, and JSON objects containing events generated by sensors in an industrial system.

An example of a data lake is an S3 bucket. Remember jfcdatalake? It contains a collection of flat files.