Book Deep-Read · Fundamentals of Data Engineering · Chapter 5

Data Generation in Source Systems

Fundamentals of Data Engineering · Ch 5 · Data Generation in Source Systems · Reis & Housley · 2022

中文 →

What is this chapter about?

You place an order online and it lands in the shop's database. You open a page and a server writes a line to a log. Your phone reports its location every few seconds. These are the places where data is born. This chapter is about where data is born, what shape it is born in, and how the people who want to build reports from it can take it out without causing trouble.

A strange thing first

An order goes from "placed" to "paid" to "shipped": three changes. But a report that copies the database once a night only ever sees the last one. Whatever happened in between is simply gone. Worse, if the order was deleted, the copier never learns it existed.

Why the old way is hard

How it works, intuitively

What it buys you / how to choose

If the data is small and one report a day is enough, a nightly copy is fine. If you need full history or minute-level freshness, follow the diary. One honest cost: following the diary is more accurate and more real-time, but it is one more system to build and keep running.

Remember it in one line

Data engineering starts upstream, in systems you do not control: understand how the data is born, take it in a way that does not hurt the source, and agree on the rules with whoever owns it.

Want OLTP and ACID, batch versus log-based CDC, event time versus processing time, partitions and delivery guarantees in queues and streams, plus evidence from Databus, Maxwell and Debezium? → Switch to the deep read