System Design Space

    Глава 99

    Обновлено: 9 февраля 2026 г. в 20:31

    Big Data (short summary)

    Прогресс части0/21

    Источник

    Обзор книги

    Оригинальный обзор Александра Поломодова на tellmeabout.tech

    Перейти на сайт

    Big Data: Principles and Best Practices of Scalable Realtime Data Systems

    Авторы: Nathan Marz, James Warren
    Издательство: Manning Publications
    Объём: 328 страниц

    Nathan Marz о Lambda Architecture: batch/serving/speed layers, иммутабельность данных, HyperLogLog и практические примеры.

    Big Data: Principles and Best Practices of Scalable Realtime Data Systems — оригинальная обложкаОригинал

    Lambda Architecture

    Связанная тема

    DDIA: Batch & Stream Processing

    Главы 10-11 DDIA подробно разбирают batch и stream processing

    Читать обзор

    Книга посвящена Lambda Architecture — архитектурному паттерну для систем обработки больших данных, состоящему из трёх уровней:

    Batch Layer

    Хранение мастер-данных в формате иммутабельных событий (append-only). Расчёт произвольных представлений на полном наборе данных.

    Serving Layer

    Быстрые запросы по предвычисленным представлениям. Может быть иммутабельным между перерасчётами batch layer.

    Speed Layer

    Обработка потока данных для актуализации между перерасчётами batch layer. Приблизительные агрегаты в реальном времени.

    Lambda Architecture Map

    master dataset + batch views + realtime views
    Raw Event Log
    immutable append-only source
    Batch Layer -> Batch Views
    точные агрегаты на полном датасете
    Speed Layer -> Realtime Views
    низкая задержка между batch-пересчётами
    Serving Layer -> Query API
    объединение batch + speed представлений

    Lambda Architecture объединяет точность batch-пересчётов и low-latency потоковый слой через единый serving контур.

    "The Lambda Architecture provides a general-purpose approach to implementing an arbitrary function on an arbitrary dataset and having the function return its results with low latency"

    — Nathan Marz

    Желаемые свойства Big Data System

    Авторы определяют ключевые свойства, которыми должна обладать система обработки больших данных:

    Горизонтальное масштабирование

    Возможность добавлять узлы для увеличения мощности

    Отказоустойчивость

    Устойчивость к аппаратным сбоям без потери данных

    Исправление ошибок

    Возможность исправить ошибки человеческого фактора

    Low Latency

    Быстрые ответы на запросы пользователей

    Произвольные запросы

    Поддержка любых типов вычислений над данными

    Минимальная сложность

    Простота операционного сопровождения системы

    Структура книги

    Рекомендуем

    Streaming Data

    Современный взгляд на архитектуру потоковых систем

    Читать обзор

    Книга разделена на части, соответствующие уровням Lambda Architecture:

    Часть 1: Batch Layer

    Модель данных, хранение мастер-данных, вычисление представлений на полном наборе данных.

    Data ModelMaster DatasetBatch ViewsMapReduce

    Часть 2: Serving Layer

    Индексирование и обслуживание предвычисленных представлений для быстрых запросов.

    IndexingBatch Views ServingElephantDB

    Часть 3: Speed Layer

    Обработка данных в реальном времени, компенсация задержки batch layer.

    Realtime ViewsStream ProcessingApache StormMicro-batching

    Практические примеры

    Авторы не ограничиваются теорией, но и разбирают характерные задачи для big data систем:

    📊

    URL Page Views

    Подсчёт просмотров URL сайта по времени

    👥

    Unique Visitors

    Расчёт количества уникальных пользователей с HyperLogLog

    🚨

    Bounce Rate

    Подсчёт отказов веб-приложения по всему домену

    Технологический стек примеров

    Storage

    HDFS

    Batch

    Hadoop

    Serving

    ElephantDB

    Speed

    Storm

    * Технологии из книги 2015 года. Современные альтернативы: Spark, Flink, Kafka Streams

    Где найти книгу