Why this session exists
Nobody types data into a warehouse. Data is a by-product of business happening: a customer checks out, an ad gets clicked, a partner emails a price list, Stripe settles a payment. Each of those moments gets written down by whichever system witnessed it - and those witnesses are the sources, the farms at the very start of the supply chain. If you can name your sources, you can answer the question that stumps most dashboard readers: "where does this number actually come from?"
The four families where data is born 7 min live
Companies feel like they have a hundred systems, but almost every source falls into one of four families: the app's own database, event streams, files, and third-party APIs. Learn the four shapes once and you can inventory any company's data landscape on one page - which is exactly what today's exercise does.
LiveA walk through Daybreak's four farms4 min▶
Every source at Daybreak - and very likely at your company - is one of these:
- The app database is where the business officially happens. When order #8412 was placed, the checkout app wrote a row: who, what, $42, 11:41pm. Orders, customers, subscriptions all live here. This is the most trusted family - the app itself would break if these records were wrong.
- Event streams are the behavioral confetti around the business: every click, tap, page view, and abandoned cart. Enormous volume, low ceremony - a single visitor can generate hundreds of events before buying once. Great for "how do people browse?", never the place you count revenue.
- Files are the unglamorous workhorses: the roaster emails a CSV of bean costs, a logistics partner drops a spreadsheet of delivery times. If it arrives as an attachment, it is a file source.
- Third-party APIs are other companies' systems that hold your data: Stripe knows the payments, the ad platforms know the campaign spend, the support tool knows the complaints. You do not own these databases - you ask politely through an API, which is just a service window for software.
| Family | Daybreak example | What it is good for |
|---|---|---|
| App database | orders, customers, subscriptions | counting the business - revenue is born here |
| Event stream | site clicks, taps, cart events | behavior - how people browse before buying |
| Files | the roaster's bean-cost CSV | partner data with no better door in |
| 3rd-party APIs | Stripe, ad platforms, support tool | facts other companies hold on your behalf |
Self-studyThe fragile source: the human-maintained spreadsheet3 min▶
There is a fifth thing you will find in every inventory, and it deserves its own warning label: the spreadsheet a human fills in by hand. Regional targets someone updates monthly, a price list marketing "keeps current", a tab of store openings. Technically it is a file source. Practically it is the least reliable source in the building: no system witnessed the facts, a typo looks identical to a truth, columns get renamed on a whim, and the one person who understands it goes on holiday.
The point is not to mock it - sometimes a hand-kept sheet is genuinely the only home a fact has (targets and budgets are decisions, not events, so no app records them). The point is to flag it: when a dashboard number looks odd, the hand-maintained source is the first suspect, because it is the only farm with no machinery guaranteeing what got planted. Today's exercise asks you to mark yours with a warning flag.
The overnight pickup 6 min live
Ingestion is the least mysterious word in the pipeline: it means a scheduled copy. At 2:00am, a job wakes up, visits each source, copies out what is new, and drops it on the warehouse shelf. That is the whole idea. The interesting parts are the two design choices hiding inside "copies out what is new".
LiveFull copy, incremental copy, and the pre-built truck4 min▶
Choice one: how much to haul. A full copy re-hauls the entire order history every night - simple, bulletproof, and increasingly slow as history grows. An incremental copy takes only new and changed rows since the last pickup - the design choice we spotted in session 1's 2am stop. Nearly every mature pipeline goes incremental, which quietly creates a new job: deciding what counts as "changed". That decision is invisible until the night it is wrong.
Choice two: who builds the truck. Copying data out of Stripe correctly - payments, refunds, disputes, currency quirks - is fiddly work, and thousands of companies need the exact same truck. So companies exist that sell pre-built ones:
- Fivetran - decoded: a company selling ready-made pickup trucks for hundreds of common sources. You point it at Stripe and your warehouse; the copying, scheduling, and retrying is their problem.
- Airbyte - decoded: the same job, with an open-source flavor teams can run and modify themselves.
Self-studyWhat happens when the farm changes shape2 min▶
One quiet danger to file away: the truck's route assumes the farm stays where it was. If Daybreak's app team renames a column, drops a field, or changes what "order status" can say, the 2am pickup may keep running and happily deliver something subtly different - or nothing at all - without anyone shouting. This is called a schema change, it starts at the source, and it is the single most common way pipelines break. Session 5 is where we watch it happen and learn how teams catch it. For now, just remember: the farm can move, and the truck will not always notice.
Batch vs streaming: the milk run and the conveyor belt 6 min live
"Why isn't our dashboard real-time?" is the most common question data teams field, and it has a genuinely good answer. There are two ways to run the pickup: batch, the scheduled milk run, and streaming, the always-moving conveyor belt. They are not good versus bad - they are cheap-and-calm versus expensive-and-instant.
LiveWhen the conveyor belt earns its cost4 min▶
Batch means scheduled runs - the truck departs at set times, hauls everything that accumulated, and rests. In practice that schedule is often nightly or hourly, tuned to what the business actually needs. It is simpler to build, cheaper to run, and easier to fix, because there are quiet hours between runs when nothing is moving.
Streaming means continuous - each event rides the belt within seconds of happening. That immediacy costs real money and real engineering: the belt never stops, so neither can the people responsible for it. The honest test is a single question: would a decision change if this number were seconds fresh instead of hours fresh?
- Yes, stream it: fraud detection (a stolen card must be blocked mid-purchase, not tomorrow), live operations like delivery tracking or inventory that sells out in minutes.
- No, batch is honestly fine: the Monday revenue dashboard. Daybreak's executives read it at 9am with coffee; whether order #8412 arrived at 2:15am or 2:15pm Sunday changes nothing they decide. Daybreak runs batch, and should.
| Batch - the milk run | Streaming - the conveyor belt | |
|---|---|---|
| Freshness | hours - often nightly or hourly | seconds |
| Cost and effort | lower - quiet hours between runs | higher - the belt never stops |
| Fixing problems | calmer - patch, then re-run the batch | harder - repairs happen on a moving belt |
| Earns its keep for | daily dashboards, weekly reports | fraud checks, live operations |
Self-studyHow to answer "why isn't it real-time?" kindly2 min▶
A script for the meeting where this comes up: "It could be - streaming is a real option. It costs meaningfully more to build and to keep healthy, so the question is which decision we would make differently with second-fresh numbers. If we can name one, let's take it to the data team. If we can't, the overnight batch is giving us the same decisions for a fraction of the cost." This reframes the conversation from speed as status to freshness as a purchase - and data teams will love you for it. Session 4 picks this thread up when we talk about what freshness each consumer of the pipeline actually needs.
Inventory your sources 🗺️ ★ 18 min · everyone works
Notebook exercise, no laptop needed. You are going to draw the left edge of your company's pipeline map - the farms. Most people have never seen their own data landscape on one page, and it takes about fifteen minutes to fix that.
List every system where business happens. Where do sales get recorded? Where do customers click? What arrives as email attachments? Which outside services hold your money, your ads, your support tickets? Brain-dump first, tidy later - aim for eight to fifteen systems.
Sort them into the four families. App database, event stream, file, or third-party API. When unsure, ask "did a system witness this, or did a human type it?" and "do we own the database, or do we ask through a service window?"
Star the ones feeding your main dashboard. Usually two to four sources carry the numbers you actually look at weekly. The stars are your dashboard's true parents.
Flag every human-maintained spreadsheet with a warning mark. Targets, price lists, hand-kept trackers. Each flag is a fragile farm - the first suspect the next time a number looks odd.
Guess each starred source's pickup schedule. Overnight batch? Hourly? Continuous? Look for "last updated" stamps on the dashboards they feed - the stamp is the truck's timetable, printed in public.
Ask the streaming question. For each starred source: would any decision change if this were seconds fresh? Write yes or no. Most honest inventories come back nearly all no - which is a finding, not a failure.
Homework 📝 ◐ 20 minutes
- Finish your source inventory if the session ran short, and keep it next to session 1's napkin - together they are the left half of your company's pipeline map.
- Find one file source in the wild this week - a CSV or spreadsheet that arrives by email and ends up inside a number somewhere. Note who sends it and who would notice if it stopped.
- Listen for the truck names. If Fivetran, Airbyte, or "connector" comes up in a meeting or job post this week, enjoy knowing the sentence just means "the scheduled pickup". Park any other tool names for session 6's decoder table.
Three questions before you go 🎯 ◐ 90 seconds
1 · The four families where data is born are...
The farm taxonomy: the app's own database (orders, customers), event streams (clicks and taps), files (CSVs people email), and third-party APIs (Stripe, ad platforms). Option A lists downstream stops, and option C describes pickup styles, not birthplaces.
2 · The fairest one-line summary of batch versus streaming is...
Neither is legacy and neither is sloppier - they trade money and complexity for freshness. Fraud detection earns the conveyor belt; the Monday 9am dashboard does not, which is why Daybreak runs the milk run and should.
3 · Fivetran and Airbyte are best described as...
They live in the ingest box: ready-made connectors that copy data out of Stripe, Shopify, ad platforms and hundreds more, on a schedule, so nobody hand-builds the same truck twice. Storage is the warehouse's job; display is the serve stage.
What this session covered from the official universe
Certificates, videos, and graded assessments stay with the official providers - this course teaches the working core in plain English.