So for many days, I had a question in mind. **how do modern data warehouses tackle frequent small writes? esp. when streaming data is one of the sources?** Kafka/Kinesis => DW(Snowflake, Teradata, Oracle ADW, etc) I was under the impression that Since data warehouse tables are typically **highly denormalized and columnar**(for quick performance for reporting queries to avoid joins); they are slow for frequent small writes But have good performance for reporting style SELECT statements. Hence the concept of **bulk nightly uploads from OLTP data sources to OLAP data warehouses**. what has changed in the modern DW internal architecture? Is there a staging area within DW itself, where data lands and then it is aggregated, stats are collected and then denormalized before it finally rests into actual DW tables powering the reporting? I am interested in knowing how does it internally works at a high level. I know this is a dumb question, this is my understanding from my school days hence I am pretty sure it is out of date.