learn-data-engineering-with-phoebe / Leader session 5 of 6
Learn Data Engineering with Phoebe · Leader track · Session 5 of 6

Storage engineering

Storage feels like a detail engineers handle - until the cloud bill arrives and half of it is data nobody has read in years. How you store data (the file format) and where you store it (the tier) are cost and speed decisions, not technicalities. This session gives leaders the two levers that quietly control most of a data platform's storage bill, and the monthly conversation that keeps it honest.

🔵 Leader track Leaders: CxO · VPs · managers No code - thinking mode 45 min
0-3 · Welcome 3-20 · Formats + why they matter 20-42 · Tiers, object storage, cost 42-45 · Q&A
Part 0

Why storage is a leadership topic

Two choices your team makes early - what format data is stored in, and which storage tier it sits on - compound every single month for years. Get them right and storage is a rounding error. Get them wrong and you pay premium prices to keep five-year-old logs nobody reads, and every query costs more than it should. You do not need to know the byte layout of a file. You need to know that these two levers exist, roughly how big they are, and what to ask about them. That is this session.

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today An exec-level grasp of row vs columnar formats (and why Parquet is the analytics default), the hot / warm / cold storage tiers and their cost-vs-speed tradeoff, why object storage like S3 is the cheap durable base of every modern stack, and the monthly storage conversation to run with your team.
Part 1 · covers DLAI Data Storage & Queries M1

File formats: row vs columnar 8 min live

The same data can be stored in very different files, and the choice changes both the storage bill and the speed of every query. Row formats like CSV and JSON are human-friendly and universal, but fat and slow to analyze. Columnar formats like Parquet compress hard and let a query read only the columns it needs. For analytics, that difference is not a detail - it is a recurring line on the invoice.

Same 10 million rows, two formats CSV / JSON (row format) human-readable, universal ~4.0 GB query must scan the whole file every time, all columns Parquet (columnar) compressed, analytics-native ~0.5 GB query reads only the columns it needs - far less scanned Roughly 8x smaller on disk, and a column-selective query scans a fraction of the bytes. On usage-priced warehouses you pay per byte scanned - so format choice hits every query bill. (Illustrative figures - real ratios depend on the data; the direction is what matters.)
🔍 Click to zoom - bloated CSV vs compact Parquet: size and scan cost, side by side
LiveWhy columnar wins for analytics3 min

Analytics questions almost always touch a few columns across many rows - "total revenue by month," not "give me everything about order 4471." Columnar storage is built for exactly that shape.

  • Compression: a column holds similar values (all dates, all amounts), which compresses far better than mixed rows. Smaller files mean a smaller storage bill.
  • Column pruning: a query that needs 3 of 40 columns reads only those 3. On a warehouse priced per byte scanned, that is money saved on every single query.
  • Parquet is the default: it has become the standard analytics format across the modern stack for these reasons - most tools read and write it natively.
Self-studyWhen row formats still make sense2 min read

Columnar is not always right. CSV and JSON win when a human needs to read the file, when you are handing data to a partner who expects a universal format, or when you are writing one record at a time rather than analyzing millions. Row formats are also fine as the landing format straight out of a source - you convert to Parquet once, at the storage step, before analytics. The rule of thumb: raw and human-facing can be row-based; anything queried repeatedly for analytics should be columnar. Your team makes this call at the storage stage of the pipeline.

Real world

The dashboard that got 10x cheaper overnight. A company backed its main dashboards with raw JSON files in object storage. Every refresh scanned gigabytes. One engineer converted the analytics tables to Parquet - same data, same queries - and the monthly scan bill dropped by roughly an order of magnitude. No new tool, no new headcount. Just the right format for the job.

Self-studyTable formats, in one breath2 min read

You may hear engineers say "Iceberg" or "Delta" or "Hudi." These are table formats - a thin layer on top of Parquet files that adds database-like features: transactions, safe concurrent writes, and time-travel to older versions. You do not need the internals. The leader-level takeaway: they let a cheap pile of files in object storage behave more like a real database, which is the idea behind the "lakehouse." When your team proposes one, the right question is "what does it let us do that plain Parquet does not, and is that worth the added complexity right now?"

Part 2 · covers DLAI Data Storage & Queries M1

Tiers, object storage, and cost 7 min live

The second lever is where data lives. Cloud storage comes in tiers that trade price for retrieval speed: hot storage is instant but expensive, cold storage is cheap but slow to pull back. Underneath it all, object storage like Amazon S3 is the cheap, durable base layer that holds the raw data for the entire modern stack. Matching data to the right tier is one of the biggest, easiest storage savings there is.

Three tiers - pick per how often data is read Hot read constantly · instant · most expensive per GB Warm read occasionally · slight delay · mid price Cold / archive rarely read · minutes-to-hours to retrieve · cheapest cost per GB drops retrieval time rises Object storage (S3) is the durable base under every tier - the cheap floor of the whole stack. The waste to hunt: old data sitting on the hot tier at premium price, read by no one.
🔍 Click to zoom - the tier ladder: cost falls, retrieval time rises, as data cools
LiveObject storage: the cheap durable floor3 min

Object storage - Amazon S3 and its equivalents - is where the modern stack keeps its raw data. It is cheap, effectively infinite, and extraordinarily durable, and it separates storage from compute so you pay for each independently.

  • Cheap and durable: designed to almost never lose data, at a fraction of the cost of database storage. This is why "land everything in S3 first" is a common pattern.
  • Storage separate from compute: you store data once and point different engines at it, rather than paying a database to hold data it is not currently querying.
  • The base of the lakehouse: Parquet files on object storage, with a table format on top, is the storage foundation most modern platforms are built on.
Self-studyLake vs warehouse, at storage altitude2 min read

Two words you will hear a lot. A data lake is raw files (often Parquet) sitting cheaply in object storage - flexible, low-cost, less structured. A data warehouse is a managed system optimized for fast, governed queries on modeled data - more structure, higher cost, more speed. From a storage-cost angle, the lake is where you keep the bulk cheaply and the warehouse is where you put the curated data people query all day. How the warehouse models that curated data - star schemas, dimensions, marts - is the depth owned by the learn-data-warehouse course. Here we only care about the storage split and its cost.

Part 3 · the monthly conversation

What leaders should watch 6 min live

You will not tune storage yourself. But three questions, asked monthly, catch nearly all the expensive drift before it compounds. They are simple, they are non-technical, and your team will respect that you ask them.

LiveThe three questions to ask monthly3 min

None of these need a technical answer from you - they need an honest one from your team.

  • Are we storing raw data forever at full price? Raw data is worth keeping, but not on the hot tier once it is old. If nobody has a retention-and-tiering answer, that is the finding.
  • Do we tier cold data down automatically? Cloud providers can move data to cheaper tiers on a rule (for example, after 90 days). If it is all still hot, you are overpaying by default.
  • Is our format choice costing us on every query? If analytics runs on CSV or JSON instead of Parquet, every query scans more bytes than it needs - and on usage-priced warehouses, that is real money, repeatedly.
Self-studyStorage cost is a habit, not a project2 min read

The trap with storage is that it is never urgent. No dashboard breaks because logs sat on the hot tier for three years - the bill just quietly grows. That is exactly why it needs a standing rhythm rather than a one-off cleanup. Put storage on a monthly or quarterly review, look at what is growing fastest and whether it is on the right tier and format, and set lifecycle rules so cooling happens automatically instead of waiting for a human to remember. Treat it as a habit and it stays a rounding error. Treat it as a project you do once and it silently becomes one of your largest line items.

Real world

Hot-tier prices for five-year-old logs. A company discovered it was paying premium hot-storage rates for application logs going back five years - terabytes that were legally required to keep but that no one ever queried. Moving them to a cold archive tier cut that portion of the bill by roughly 80% with zero downside, because "rarely read" was exactly what the cold tier is for. The data had never needed to be hot; nobody had ever asked.

Homework

Take this back to your team ◐ 20-30 min total

Source material

Official sources covered

This session teaches the storage core of the DeepLearning.AI Data Engineering certificate's Data Storage and Queries course (Joe Reis) and Reis & Housley's Fundamentals of Data Engineering, framed for leaders who own the budget. Verified as of mid-2026 - re-verify vendor storage tiers and pricing before acting. This page covers:

DLAI Data Storage & Queries - M1: storage ingredients, tiers, row vs columnParts 1-2 · formats, hot/warm/cold tiers, object storage, cost
DLAI Data Storage & Queries - M2: storage abstractions (lake / warehouse / lakehouse)Part 2 · the lake vs warehouse split, light - warehouse course owns the depth
Fundamentals of Data Engineering (Reis & Housley) - storage chaptersParts 1-3 · storage as a cost-and-speed decision across the lifecycle
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · Why is Parquet the default format for analytics data?

Columnar storage compresses similar values well and prunes to just the needed columns, so files are smaller and queries scan fewer bytes. On usage-priced warehouses that saves money on every query.

2 · What is the tradeoff between hot and cold storage tiers?

Tiers trade price for retrieval speed. Frequently read data belongs hot; rarely read data belongs cold. The classic waste is old data left on the hot tier at premium price.

3 · What role does object storage like Amazon S3 play in the modern stack?

Object storage is cheap, effectively infinite, and highly durable, and it separates storage from compute. That is why "land everything in S3 first" is the foundation of the lake and lakehouse patterns.

Leader session 5 cheat sheet · pin this

Two leversFormat (how you store) and tier (where you store). Both compound on the bill monthly.
Row vs columnarCSV / JSON = human-friendly, fat. Parquet = columnar, compressed, analytics-fast.
Parquet defaultSmaller files + reads only needed columns = cheaper storage and cheaper queries.
Table formatsIceberg / Delta / Hudi add transactions on Parquet files. The lakehouse idea.
Storage tiersHot (instant, dear) → warm → cold (cheap, slow). Match tier to read frequency.
Object storageS3 = cheap, durable, infinite base of the stack. Storage separate from compute.
The classic wasteOld data on the hot tier at premium price, read by no one. Auto-tier it down.
Monthly conversationStoring raw forever at full price? Tiering cold data? Format costing us per query?