Граф знанийНастройки

Обновлено: 2 мая 2026 г. в 07:31

Big Data (short summary)

сложный

Big Data важна не только как историческая книга про архитектуру Lambda, а как хороший способ увидеть цену разделения пакетного слоя, слоя выдачи и оперативного слоя.

В реальной инженерной практике она помогает понять, где неизменяемая история событий, приближённые алгоритмы и отдельные вычислительные контуры действительно оправданы, а где архитектура начинает проигрывать собственной сложности.

На интервью и архитектурных обсуждениях она особенно полезна, когда нужно честно объяснить, почему низкая задержка, точность результата и простота эксплуатации редко помещаются в одну схему без серьёзных компромиссов.

Практическая польза главы

Практика проектирования

Формирует целостный взгляд на пакетный контур, потоковую обработку и слой выдачи для аналитики большого объёма.

Качество решений

Помогает осознанно выбирать архитектурный стиль по задержке, стоимости пересчёта и точности результата.

Аргументация на интервью

Добавляет практические критерии для выбора архитектуры Lambda, архитектуры Kappa или гибридного подхода.

Риски и компромиссы

Показывает, где архитектура данных начинает деградировать из-за сложности и изменения свойств входных данных.

Источник

Обзор книги

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

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

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

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

Nathan Marz об архитектуре Lambda: пакетный слой, слой выдачи, оперативный слой, неизменяемый журнал событий, пакетные и оперативные представления, HyperLogLog и цена сложности.

Оригинал

начинается с и : входящие факты сохраняются как , чтобы историю можно было пересчитать заново.

Затем строит , закрывает свежие события через и , а объединяет результаты для запросов с низкой .

Архитектура Lambda

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

DDIA: пакетная и потоковая обработка

DDIA подробно разбирает пакетные пересчёты, потоковую обработку и материализованные представления.

Читать обзор

Книга объясняет архитектуру Lambda как способ совместить точность полного исторического пересчёта с быстрыми ответами по свежим событиям. В классической схеме это три слоя:

Пакетный слой

Хранит главный набор данных как неизменяемую историю событий и пересчитывает точные представления по всей накопленной истории.

Слой выдачи

Индексирует предвычисленные представления и отдаёт быстрые ответы, пока пакетный слой готовит следующий полный пересчёт.

Оперативный слой

Обрабатывает свежие события между пакетными пересчётами и строит приближённые агрегаты для низкой задержки.

Карта архитектуры Lambda

главный набор данных + пакетные представления + оперативные представления
Журнал событий
неизменяемый источник только для добавления
Пакетный слой -> представления
точные агрегаты по полному набору данных
Оперативный слой -> представления
низкая задержка между пакетными пересчётами
Слой выдачи -> API запросов
объединение пакетных и оперативных представлений

Архитектура Lambda совмещает точные пакетные пересчёты, быстрый оперативный слой и единый слой выдачи для запросов.

"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

Желаемые свойства системы обработки больших данных

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

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

Систему можно расширять добавлением узлов, а не переписыванием архитектуры.

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

Аппаратные сбои не должны приводить к потере истории и производных представлений.

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

Ошибки в коде или данных можно исправить повторным пересчётом из исходной истории.

Низкая задержка

Пользовательские запросы получают свежий ответ без ожидания полного пакетного запуска.

Гибкие вычисления

Архитектура поддерживает новые представления и алгоритмы поверх уже накопленных данных.

Контролируемая сложность

Команда понимает, какие контуры отвечают за точность, свежесть и выдачу результатов.

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

Рекомендуем

Streaming Data

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

Читать обзор

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

Часть 1: пакетный слой

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

Модель данныхГлавный наборПакетные представленияMapReduce

Часть 2: слой выдачи

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

ИндексацияВыдача представленийElephantDB

Часть 3: оперативный слой

Быстрая обработка свежих событий и компенсация задержки между пакетными пересчётами.

Оперативные представленияПотоковая обработкаApache StormМикропакеты

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

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

📊

URL Page Views

Подсчёт просмотров страниц по временным интервалам.

👥

Unique Visitors

Приближённая оценка числа уникальных пользователей с HyperLogLog.

🚨

Bounce Rate

Расчёт доли отказов по всему сайту или домену.

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

Хранение

HDFS

Пакетный слой

Hadoop

Слой выдачи

ElephantDB

Оперативный слой

Storm

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

Связанные главы

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

Чтобы отмечать прохождение, включи трекинг в Настройки