Designing Machine Learning Systems by Chip Huyen | Chapter 3: Data Engineering Fundamentals

onepagecode · Beginner ·🔄 Data Engineering ·3w ago

About this lesson

Read the detailed version on: https://onepagecode.substack.com/ Use this url: https://onepagecode.substack.com/p/large-language-models-architectures In Chapter 3 of "Designing Machine Learning Systems" by Chip Huyen, we dive into the foundational concepts of data engineering that every machine learning engineer and data scientist working in production must understand. This chapter covers the full spectrum of data engineering fundamentals required to build reliable ML systems. We start by exploring different sources of data in production environments — from user input and system-generated logs to third-party data. We then examine key data formats (JSON, CSV, Parquet) and compare row-major versus column-major storage, along with text versus binary formats and their impact on performance and storage costs. The chapter also explains different data models including relational, document, and graph models, and when to use each one. We break down transactional versus analytical processing (OLTP vs OLAP), the ETL and ELT paradigms, and the growing trend of decoupling storage from compute. Finally, we explore modern modes of dataflow — passing data through databases, services, and real-time transports like Apache Kafka — and compare batch processing with stream processing for building dynamic ML features. What you’ll learn in this chapter: • Common data sources in production ML systems • Row-major (CSV) vs column-major (Parquet) formats and when to use each • Text vs binary data formats and storage efficiency • Relational, document, and graph data models • OLTP vs OLAP databases and modern lakehouse architectures • ETL vs ELT processes • Passing data between services using databases, APIs, and real-time transports • Batch processing vs stream processing for ML features • Static features vs dynamic (streaming) features This chapter provides the essential data engineering knowledge needed before moving into sampling, labeling, and feature engineering in later chapters.

Original Description

Read the detailed version on: https://onepagecode.substack.com/ Use this url: https://onepagecode.substack.com/p/large-language-models-architectures In Chapter 3 of "Designing Machine Learning Systems" by Chip Huyen, we dive into the foundational concepts of data engineering that every machine learning engineer and data scientist working in production must understand. This chapter covers the full spectrum of data engineering fundamentals required to build reliable ML systems. We start by exploring different sources of data in production environments — from user input and system-generated logs to third-party data. We then examine key data formats (JSON, CSV, Parquet) and compare row-major versus column-major storage, along with text versus binary formats and their impact on performance and storage costs. The chapter also explains different data models including relational, document, and graph models, and when to use each one. We break down transactional versus analytical processing (OLTP vs OLAP), the ETL and ELT paradigms, and the growing trend of decoupling storage from compute. Finally, we explore modern modes of dataflow — passing data through databases, services, and real-time transports like Apache Kafka — and compare batch processing with stream processing for building dynamic ML features. What you’ll learn in this chapter: • Common data sources in production ML systems • Row-major (CSV) vs column-major (Parquet) formats and when to use each • Text vs binary data formats and storage efficiency • Relational, document, and graph data models • OLTP vs OLAP databases and modern lakehouse architectures • ETL vs ELT processes • Passing data between services using databases, APIs, and real-time transports • Batch processing vs stream processing for ML features • Static features vs dynamic (streaming) features This chapter provides the essential data engineering knowledge needed before moving into sampling, labeling, and feature engineering in later chapters.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related Reads

📰
I Built My Second ETL Pipeline. This Time, I Started Thinking Like a Data Engineer
Learn how to build a production-ready ETL pipeline with Python, Docker, PostgreSQL, and Kestra by thinking like a data engineer
Towards Data Science
📰
JuiceFS Sync for PB-Scale Data Transfers: Resumable Sync, Encryption, and Bandwidth Control
Learn how to efficiently transfer large volumes of data using JuiceFS Sync, which offers resumable sync, encryption, and bandwidth control, ideal for PB-scale data transfers.
Dev.to AI
📰
How Airflow is using AI to make data engineering more resilient, not more complex
Airflow uses AI to make data engineering more resilient by detecting data drift, resuming failed pipelines, and fixing issues automatically, reducing complexity and improving reliability.
Medium · AI
📰
What Can We Do When Memory Becomes the New Bottleneck in Data Engineering?
Learn how to overcome memory bottlenecks in data engineering using Pandas chunking, Dask, and Polars, and why it matters for processing large datasets
Towards Data Science
Up next
A Moment Frozen in Time | Arnav Iyengar | TEDxJenks Youth
TEDx Talks
Watch →