Data Analyst / Engineer · Focus area 2: Data warehousing
DT5: Warehouse foundations
Goal: explain why analysis needs a different kind of database, organise a warehouse into layers, understand how cloud warehouses such as BigQuery and Snowflake charge and scale, write queries that read less, and control who can see which data, personal data above all.
You'll need: DT1 to DT3, Module 52 (Database Structure), Module 54 (Normalisation), Module 57 (Transactions and Indexes), Module 68 (Cloud Architecture), Module 79 (Privacy and Data Protection), and the SabziSathi practice kit.
Where this is used: a bank's finance team asks questions across ten years of transactions; a quick-commerce company's analysts compare stores, hours and products; a state health department combines hospital reports. Their apps' databases weren't built for these questions, so the data is copied into a warehouse that is.
How it differs: an app's database is tuned to read and write one record at a time, quickly and safely. A warehouse is tuned to read millions of rows at once and summarise them, and its design decides what each question costs.
Time: reading about 2½ hours · practice (the Try it tasks) about 2 hours · assignment about 3 hours.
Lessons
- 1Why analysis needs a warehouseReading 15–25 minutes, plus practice✓
- 2Layers and schemasReading 15–25 minutes, plus practice✓
- 3Cloud warehousesReading 15–25 minutes, plus practice✓
- 4Queries that read lessReading 15–25 minutes, plus practice✓
- 5Access, governance and personal dataReading 15–25 minutes, plus practice✓
🛠️Assignment: SabziSathi's warehouse plan
This is the first part of Project 2.
- Draw SabziSathi's layers (raw, clean, staging, marts) with the schema and tool for each.
- Classify every column in the raw files by sensitivity.
- Write the roles you'd create in a cloud warehouse (for example pipeline, analyst, support) and what each can read and write.
- Rewrite the starter's
stg_customersso only the customer id, area and signup date pass on. - Write an illustrative monthly cost for SabziSathi on BigQuery or Snowflake, with the date and the pricing page you used.
Self-check before you finish:
- [ ] Each layer reads only from the one before.
- [ ] No role that reads marts can read the customer export.
- [ ]
stg_customershas no name, phone or email. - [ ] Every price is marked illustrative, with its date and source.
- [ ]
pytest tests/test_warehouse.pytest 3 passes once the marts are rebuilt (DT6 finishes the job).
✅Module check
Explain in a few sentences, in your own words:
What makes a warehouse fast, affordable and safe?
Show a good answer
A good answer mentions: columnar storage separate from the app's database; layers in separate schemas, with reports on marts only; storage and compute billed separately, with on-demand scanning or sized compute; partitioning, clustering, selected columns and early filters; summary marts for common questions; budgets and limits; classification of data; least-privilege roles; personal data minimised, pseudonymised and aggregated; retention and deletion; and the duties of laws such as India's DPDP Act.
📚Official references
Official documentation and guidance for this module's topics, chosen on 2 November 2026. Tools, laws and standards change, so check the current version before you rely on a detail. If a link has moved, search the same site.
📝Module quiz
10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·
