SlideShare a Scribd company logo
Думать в стиле
Представление Лямбда Архитектуры
Кузнецов Сергей Викторович
Директор по технологиям
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
Почему ??
 Функциональное Программирование  Пути потоков данных для Принятия
Быстрого Решения

More Related Content

PDF
Distributed systems
PDF
Александр Богданов «Lambda - архитектура»
PDF
Akka и реактивное программирование на JVM
PDF
кри 2014 elastic search рациональный подход к созданию собственной системы а...
PDF
DUMP-2015: «Распределенная обработка миллионов документов на Scala и Akka» Ст...
PDF
Apache Kafka and stream processing peculiarities [ru]
PPTX
презентация по очередям
PDF
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015
Distributed systems
Александр Богданов «Lambda - архитектура»
Akka и реактивное программирование на JVM
кри 2014 elastic search рациональный подход к созданию собственной системы а...
DUMP-2015: «Распределенная обработка миллионов документов на Scala и Akka» Ст...
Apache Kafka and stream processing peculiarities [ru]
презентация по очередям
Минисервисы или микросервисы в условия цейтнота, Руслан Каримов, UWDC 2015

Viewers also liked (9)

ODP
Сравнение AMQP и ZeroMQ
PDF
"Посмотрим на Акку-Джаву" Дмитрий Мантула
PPTX
Введение в Akka
PDF
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
PDF
Автоматизация анализа логов на базе Elasticsearch
PDF
Akka: как я перестал бояться и полюбил асинхронный код
PDF
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
PPTX
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
PDF
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Сравнение AMQP и ZeroMQ
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Введение в Akka
2013-02-02 03 Голушко. Полнотекстовый поиск с Elasticsearch
Автоматизация анализа логов на базе Elasticsearch
Akka: как я перестал бояться и полюбил асинхронный код
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Ad

Lambda Architecture presentaton

  • 1. Думать в стиле Представление Лямбда Архитектуры Кузнецов Сергей Викторович Директор по технологиям
  • 2. 2 Предпосылки  Пакетный процессинг  Большие объемы статичных данных (Volume)  Масштабируемое решение «Логика приведет вас из точки А в точку В. Воображение доставит куда угодно!» (А. Эйнштейн)  Процессинг Реального Времени  Анализ потоковых данных (Velocity)  Быстрый отклик  Гибридный подход  Лямбда Архитектура  Volume + Velocity
  • 3. 3 - Философия  Запрос = Функция (Всей Информации)  Cистема не восприимчива к единичной потере данных и/или повреждению данных (fault-tolerance)  Неизменность данных – хранение данных в исходном неизменяемом виде  Перевычисление – есть возможность всегда провести вычисления на исходных данных «Мы не можем решать проблемы, используя те же подходы в мышлении, которые мы использовали, чтобы создать проблемы.» (А. Эйнштейн)
  • 4. 4 Требования к Потоковой обработке в реальном времени 1 • Сохраняйте данные движущимися 2 • Формулируйте запросы с использованием SQL на потоках (Stream SQL) 3 • Справляться с дефектностью потоков (задержка, отсутствие и нарушение порядка данных) 4 • Генерируйте предсказуемые результаты 5 • Интегрируйте хранимые и потоковые данные 6 • Гарантируйте безопасность и доступность данных 7 • Автоматически разделяйте и масштабируйте приложения 8 • Мгновенно обрабатывайте и выдавайте результаты - Michael Stonebraker
  • 5. 5 Инфраструктура потоковой обработки данных  Twitter STORM  Yahoo S4 -> Apache  IBM InfoSphere Streams  Apache Samza  SQL Stream  ParStream  ….  ZeroMQ, Rabbit MQ  Apache Kafka  Hadoop YARN  Twitter Trident
  • 7. 7 Архитектура (A)— Новые данные поступают на Пакетный уровень и уровень Ускорения. (B)— Мастер – неизменяемая сырая информация, данные только добавляются. (C)— Пакетный уровень постоянно перевычисляет функции заново в Пакеты. (D)—Сервисный Уровень индексирует Пакеты. Результаты обычно отстают. (E)—Уровень Ускорения компенсирует разницу в актуальности данных, инкрементально добавляет данные в представления реального-времени с коротким ЖЦ. (F)— Запросы обрабатывают Пакеты и представления реального времени.
  • 8. 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. 9 Почему ??  Функциональное Программирование  Пути потоков данных для Принятия Быстрого Решения