Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Тонкости Лямбда-архитектуры, примеры и смысл кратко

Лекция



Привет, Вы узнаете о том , что такое лямбда-архитектура, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое лямбда-архитектура , настоятельно рекомендую прочитать все из категории Проектирование веб сайта или программного обеспечения.

лямбда-архитектура - это архитектура обработки данных, предназначенная для обработки огромных объемов данных за счет использования как методов пакетной, так и потоковой обработки . Этот подход к архитектуре пытается сбалансировать задержку , пропускную способность и отказоустойчивость за счет использования пакетной обработки для предоставления всесторонних и точных представлений пакетных данных, одновременно используя потоковую обработку в реальном времени для представления интерактивных данных. Два выхода просмотра могут быть объединены перед презентацией. Распространение лямбда-архитектуры коррелирует с ростом больших данных , аналитики в реальном времени и стремлением уменьшить задержки map-reduce.

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

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

Парадигма потоковой обработки упрощает параллельное программное и аппаратное обеспечение, ограничивая параллельные вычисления, которые могут быть выполнены. Учитывая последовательность данных ( поток ), к каждому элементу потока применяется серия операций ( функций ядра )

Поток данных через уровни обработки и обслуживания общей лямбда-архитектуры

Обзор

Лямбда-архитектура описывает систему, состоящую из трех уровней: пакетная обработка, скорость (или обработка в реальном времени) и уровень обслуживания для ответа на запросы. Об этом говорит сайт https://intellect.icu . Уровни обработки получают из неизменяемой главной копии всего набора данных. Эта парадигма была впервые описана Натаном Марцем в сообщении блога, озаглавленном «Как превзойти теорему CAP», в котором он первоначально назвал ее «пакетной / реальной архитектурой».

«холодный путь» Пакетный слой

Пакетный уровень предварительно вычисляет результаты с помощью системы распределенной обработки, которая может обрабатывать очень большие объемы данных. Пакетный уровень нацелен на идеальную точность, поскольку он может обрабатывать все доступные данные при создании представлений. Это означает, что он может исправить любые ошибки, пересчитав на основе полного набора данных, а затем обновив существующие представления. Выходные данные обычно хранятся в базе данных, доступной только для чтения, а обновления полностью заменяют существующие предварительно вычисленные представления. : 18

К 2014 году Apache Hadoop считался ведущей системой пакетной обработки. Позже в этой роли использовались и другие реляционные базы данных, такие как Snowflake , Redshift, Synapse и Big Query.

«горячий путь» Скоростной слой

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

Уровень скорости обрабатывает потоки данных в режиме реального времени и без необходимости исправлений или полноты. Этот уровень жертвует пропускной способностью, поскольку он направлен на минимизацию задержки за счет предоставления в реальном времени просмотра самых последних данных. По сути, уровень скорости отвечает за заполнение «пробела», вызванного запаздыванием пакетного уровня в предоставлении представлений на основе самых последних данных. Представления этого слоя могут быть не такими точными или полными, как те, которые в конечном итоге создаются пакетным слоем, но они доступны почти сразу после получения данных и могут быть заменены, когда становятся доступными представления пакетного слоя для тех же данных.

Технологии потоковой обработки, обычно используемые на этом уровне, включают Apache Storm , SQLstream , Apache Samza , Apache Spark , Azure Stream Analytics . Вывод обычно хранится в быстрых базах данных NoSQL.

Обслуживающий слой

Тонкости Лямбда-архитектуры, примеры и смысл
Диаграмма, показывающая лямбда-архитектуру с хранилищем данных Druid.

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

Примеры технологий, используемых на уровне обслуживания, включают Druid , который предоставляет один кластер для обработки вывода с обоих уровней. Выделенные хранилища, используемые на уровне обслуживания, включают Apache Cassandra , Apache HBase , Azure Cosmos DB , MongoDB , VoltDB или Elasticsearch для вывода на уровне скорости и Elephant DB , Apache Impala , SAP HANA или Apache Hive для вывода на уровне пакетной обработки.

Оптимизация

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

Используемая лямбда-архитектура

Metamarkets, который предоставляет аналитику для компаний в сфере программной рекламы, использует версию лямбда-архитектуры, которая использует Druid для хранения и обслуживания как потоковых, так и пакетных данных.

Yahoo применила аналогичный подход к аналитике своего хранилища рекламных данных , также используя Apache Storm , Apache Hadoop и Druid .

Проект Netflix Suro имеет отдельные пути обработки данных, но не строго следует лямбда-архитектуре, поскольку пути могут быть предназначены для различных целей и не обязательно для предоставления одного и того же типа представлений. Тем не менее, общая идея состоит в том, чтобы сделать выбранные данные о событиях в реальном времени доступными для запросов с очень малой задержкой, в то время как весь набор данных также обрабатывается через пакетный конвейер. Последний предназначен для приложений, которые менее чувствительны к задержке и требуют обработки с уменьшением карты.

лямбда-архитектура, когда обработка данных разделяется на 2 пути

  • «холодный путь» – пакетный уровень, где все входящие данные хранятся в необработанном виде и обрабатываются в пакетном режиме. Обычно пакетный уровень представлен озерами больших данных (Data Lake) на базе Apache Hadoop, где содержится «сырая» информация, которая не изменяется и не обновляется, а лишь пополняется новыми данными. Именно здесь содержатся так называемые мастер-данные или нормативно-справочная информация (НСИ), важная для бизнеса о клиентах, продуктах, услугах, персонале, технологиях, материалах и прочих доменных знаниях, которые достаточно редко изменяются и не являются транзакционными. В рассмотренном примере алгоритмы Machine Learning используют пакетные данные для сегментирования клиентов и составления прогнозных моделей, анализируя сохраненную историю пользовательского поведения. Также важно, что именно этот уровень используется для обработки данных по расписанию, т.е. формирования пакетных заданий.
  • «горячий путь» – скоростной уровень (или уровень ускорения), где данные анализируются в режиме реального времени. Этот уровень обеспечивает минимальную задержку обработки с некоторой потерей точности. Он представляет собой совокупность складов данных, где в отдельные представления реального времени добавляется информация с коротким жизненным циклом, чтобы исключить дублирование данных. Для реализации скоростного уровня обычно используются Big Data фреймворки потоковой обработки: Apache Spark, Storm или Flink.

ДОСТОИНСТВА И НЕДОСТАТКИ АРХИТЕКТУРЫ

Итак, лямбда-архитектура предоставляет следующие преимущества для Big Data системы :

  • высокая сохранность исторических данных, низкой вероятностью ошибок и сбоев;
  • баланс скорости и надежности;
  • масштабируемость.

Однако, λ-подходу свойственны следующие недостатки :

  • невозможность изменения стратегии анализа данных «на лету»
  • отсутствие BI-средств
  • сложность

Критика

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

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

Вау!! 😲 Ты еще не читал? Это зря!

  • Обработка потока событий
  • AWS Lambda
  • Каппа-архитектура
  • Хранилища данных

Исследование, описанное в статье про лямбда-архитектура, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое лямбда-архитектура и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Проектирование веб сайта или программного обеспечения

Из статьи мы узнали кратко, но содержательно про лямбда-архитектура
создано: 2021-09-03
обновлено: 2021-09-03
15



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Проектирование веб сайта или программного обеспечения

Термины: Проектирование веб сайта или программного обеспечения