Лямбда-архитектура

Слайд 2

На этом уровне компенсируется разница в актуальности данных, а в отдельные представления

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

Слайд 3

В основе Лямбда-архитектуры лежит несколько принципов:
система не восприимчива к единичной потере данных

В основе Лямбда-архитектуры лежит несколько принципов: система не восприимчива к единичной потере
и/или повреждению данных (fault-tolerance);
неизменность данных – хранение данных в исходном неизменяемом виде;
перевычисление – есть возможность всегда провести вычисления на исходных данных.
Вся информация поступает в единое хранилище данных (мастер), в котором может быть и другая статичная информация, и одновременно дублируется на уровне агрегации краткосрочного периода. любой запрос имеет доступ к мастеру для получения полного ответа на основе полных данных, и  коррекции с учетом самой последней информации, агрегированной за краткосрочный период, поскольку мастер, очевидно, имеет определенную инерцию из-за скорости обработки большого объема информации.

Слайд 4

Уровень пакет использует Apache Hadoop
Уровень скорость использует Stream-processing technologies typically Apache

Уровень пакет использует Apache Hadoop Уровень скорость использует Stream-processing technologies typically Apache
Storm использует Stream-processing technologies typically Apache Storm, SQLstream использует Stream-processing technologies typically Apache Storm, SQLstream and Apache Spark. Результат обычно сохраняется на быстрых NoSQL БД.
Уровень сервис использует Apache CassandraApache Cassandra or Apache HBaseApache Cassandra or Apache HBase for speed-layer output, and Elephant DBApache Cassandra or Apache HBase for speed-layer output, and Elephant DB or Cloudera Impala for batch-layer output.

Слайд 5

Новые данные поступают на оба уровня: Пакетный и Ускорения (A). Мастер (B)

Новые данные поступают на оба уровня: Пакетный и Ускорения (A). Мастер (B)
представляет собой хранилище неизменяемой сырой информация, где исходные данные только добавляются. Пакетный уровень (C) постоянно перевычисляет функции заново в Пакеты. Сервисный Уровень (D) индексирует Пакеты, и здесь результаты обычно отстают по времени из-за скорости прохождения мастера и индексирования. Уровень Ускорения (E) компенсирует разницу в актуальности данных, и постоянно добавляет данные в представления реального-времени с коротким жизненным циклом (ведь нам не нужно дублирование в  хранении данных, т.к. они накапливаются на Мастере). И, наконец, запросы обрабатывают пакеты и представления реального времени (F).

Слайд 6

На данный момент существуют различные вариации технологических компонент для Лямбда-архитектуры.
Например, проект

На данный момент существуют различные вариации технологических компонент для Лямбда-архитектуры. Например, проект
Lambdoop, который объединяет компоненты эко-системы Hadoop для всех трех слоев Лямбда-архитектуры: кластер Hadoop используется для пакетного уровня – HDFS для мастера и MapReduce для быстрого перевычисления запроса на исходных данных; для сервисного уровня используются Cloudera Impala для пакетов и Apache HBase для создания представлений реального времени; и технология Storm для уровня ускорения. Также Cloudera Impala решает вопрос агрегации результатов из уровней для ответа на запрос.
Проект развивается с 2013 г.