Lambda Architecture presentaton
Click here to load reader
-
Upload
sergey-kuznetsov -
Category
Software
-
view
124 -
download
4
description
Transcript of Lambda Architecture presentaton
Думать в стиле
Представление Лямбда Архитектуры
Кузнецов Сергей Викторович
Директор по технологиям
2
Предпосылки
Пакетный процессинг
Большие объемы статичных
данных (Volume)
Масштабируемое решение
«Логика приведет вас из точки А в точку В.
Воображение доставит куда угодно!» (А. Эйнштейн)
Процессинг Реального Времени
Анализ потоковых данных (Velocity)
Быстрый отклик
Гибридный подход
Лямбда Архитектура
Volume + Velocity
3
- Философия
Запрос = Функция (Всей Информации)
Cистема не восприимчива к единичной потере
данных и/или повреждению данных (fault-tolerance)
Неизменность данных – хранение данных в
исходном неизменяемом виде
Перевычисление – есть возможность всегда
провести вычисления на исходных данных
«Мы не можем решать проблемы, используя те же
подходы в мышлении, которые мы использовали,
чтобы создать проблемы.» (А. Эйнштейн)
4
Требования к Потоковой обработке в реальном времени
1 • Сохраняйте данные движущимися
2 • Формулируйте запросы с использованием SQL на потоках (Stream SQL)
3 • Справляться с дефектностью потоков (задержка, отсутствие и нарушение порядка данных)
4 • Генерируйте предсказуемые результаты
5 • Интегрируйте хранимые и потоковые данные
6 • Гарантируйте безопасность и доступность данных
7 • Автоматически разделяйте и масштабируйте приложения
8 • Мгновенно обрабатывайте и выдавайте результаты
- Michael Stonebraker
5
Инфраструктура потоковой обработки данных
Twitter STORM
Yahoo S4 -> Apache
IBM InfoSphere Streams
Apache Samza
SQL Stream
ParStream
….
ZeroMQ, Rabbit MQ
Apache Kafka
Hadoop YARN
Twitter Trident
6
Идея
Растущие
Исходные
Данные
Предвычисленные
значения (Views)
Аналитика
Приложения
Накапливаемые
Данные (Master)
7
Архитектура
(A)— Новые данные поступают на
Пакетный уровень и уровень Ускорения.
(B)— Мастер – неизменяемая сырая
информация, данные только
добавляются.
(C)— Пакетный уровень постоянно
перевычисляет функции заново в Пакеты.
(D)—Сервисный Уровень индексирует
Пакеты. Результаты обычно отстают.
(E)—Уровень Ускорения компенсирует
разницу в актуальности данных,
инкрементально добавляет данные в
представления реального-времени с
коротким ЖЦ.
(F)— Запросы обрабатывают Пакеты и
представления реального времени.
8
Архитектура
All data
(HDFS)
Precomputer
views
(MapReduce)
New data
stream
Query
(Impala)
Process
stream
Increment
views
QFD 1 QFD 2 QFD N
QFD 1 QFD 2 QFD N
Batch layer
Serving layer
Speed layer
Batch
recompute
Hadoop
Batch views (HDFS Impala)
Realtime views (Apache HBase) Merge
Storm
Realtime
increment
9
Почему ??
Функциональное Программирование Пути потоков данных для Принятия
Быстрого Решения