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

КАППА-АРХИТЕКТУРА тонкости и смысл кратко

Лекция



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

Kappa Архитектура представляет собой архитектура программного обеспечения , используемая для обработки потоковых данных. Основная предпосылка архитектуры Kappa заключается в том, что вы можете выполнять как обработку в реальном времени, так и пакетную обработку, особенно для аналитики, с помощью единого технологического стека. Он основан на потоковой архитектуре, в которой входящая серия данных сначала сохраняется в механизме обмена сообщениями, таком как Apache Kafka. Отсюда движок потоковой обработки считывает данные и преобразует их в анализируемый формат, а затем сохраняет их в аналитической базе данных для запросов конечных пользователей.

Архитектура Kappa поддерживает аналитику (почти) в реальном времени, когда данные считываются и преобразуются сразу после их вставки в механизм обмена сообщениями. Это делает последние данные быстро доступными для запросов конечных пользователей. Он также поддерживает историческую аналитику, считывая сохраненные потоковые данные из механизма обмена сообщениями в более позднее время в пакетном режиме, чтобы создавать дополнительные анализируемые выходные данные для большего количества типов анализа.

Архитектура Kappa считается более простой альтернативой Lambda Architecture, поскольку в ней используется один и тот же технологический стек для обработки как потоковой обработки в реальном времени, так и исторической пакетной обработки. Обе архитектуры предполагают хранение исторических данных для проведения крупномасштабной аналитики. Обе архитектуры также полезны для решения проблемы «человеческой отказоустойчивости», когда проблемы с кодом обработки (либо ошибки, либо просто известные ограничения) могут быть преодолены путем обновления кода и его повторного запуска на исторических данных. Основное отличие от архитектуры Kappa заключается в том, что все данные обрабатываются как поток, поэтому механизм обработки потока действует как единственный механизм преобразования данных.

КАППА-АРХИТЕКТУРА тонкости и смысл

Архитектура Kappa обычно строится на основе Apache Kafka® вместе с высокоскоростным движком потоковой обработки.

При всех достоинствах Лямбда-архитектуры, главным недостатком этого подхода к проектированию Big Data систем считается его сложность из-за дублирования логики обработки данных в холодном и горячем путях. Поэтому в 2014 году была предложена Каппа – альтернативная модель, которая потребляет меньше ресурсов, но отлично подходит для обработки событий в режиме реального времени .

В отличие от лямбда, в Каппа-архитектуре потоковые данные проходят по одному пути. Все данные принимаются как поток событий в распределенном и отказоустойчивом едином журнале – логе событий. Там события упорядочиваются, и текущее состояние события изменяется только при добавлении нового события. Аналогично уровню ускорения лямбда-архитектуры, вся обработка событий выполняется во входном потоке и сохраняется как представление в режиме реального времени. Если необходимо повторно вычислить весь набор данных, как на пакетном уровне в лямбда-архитектуре, поток воспроизводится заново. Об этом говорит сайт https://intellect.icu . Для своевременного завершения вычислений используется параллелизм .

Функциональное уравнение, которое определяет запрос Big Data, в Каппа-архитектуре будет выглядеть так :

Query = K (New Data) = K (Live streaming data)

Это уравнение означает, что все запросы могут быть обработаны путем применения функции Каппа (К) к real-time потокам данных на скоростном уровне.

Таким образом, можно сказать, что каппа-архитектура – это упрощение Лямбда-подхода к проектированию Big Data систем, когда из модели удален уровень пакетной обработки данных. При этом каноническое хранилище данных представляет собой неизменяемый журнал только для добавления информации. Из журнала данные сразу передаются в систему потоковых вычислений, по необходимости обогащаясь данными из неканонического хранилища (сервисный уровень). Цель сервисного уровня – предоставить оптимизированные ответы на запросы. Однако эти хранилища не являются каноническими (неизменяемыми): их можно в любой момент стереть и восстановить из канонического Data Store .

Для реализации Каппа-архитектуры используются следующие технологии Big Data :

  • канонические хранилища для постоянного логгирования событий, например, Apache Kafka, Apache Pulsar, Amazon Quantum Ledger Database, Amazon Kinesis, Amazon DynamoDB Streams, Azure Cosmos DB Change Feed, Azure EventHub и другие подобные системы;
  • фреймворки потоковых вычислений, например, Apache Spark, Flink, Storm, Samza, Beam, Kafka Streams, Amazon Kinesis, Azure Stream Analytics и другие streaming-системы;
  • на сервисном уровне может использоваться практически любая база данных, резидентная (в памяти) или постоянная, в т.ч. хранилища специального назначения, например, для полнотекстового поиска.

КАППА-АРХИТЕКТУРА тонкости и смысл

Каппа-архитектура для Big Data систем

ГДЕ ИСПОЛЬЗУЕТСЯ K-ПОДХОД

Итак, Kappa-архитектура целесообразна для таких корпоративных моделей обработки данных, где :

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

Все эти сценарии отлично покрываются брокером сообщений Apache Kafka – быстрой, отказоустойчивой и горизонтально масштабируемой системой сбора и агрегации больших данных. Поэтому Каппа-архитектура на базе Kafka активно используется LinkedIn и другими Big Data проектами, где требуется сохранить большой объем данных для обслуживания запросов, которые являются простой копией друг друга .

Что такое потоковая архитектура?

Архитектура потоковой передачи - это определенный набор технологий, которые работают вместе для обработки потоковой обработки , то есть практики выполнения действий с серией данных во время их создания. Во многих современных развертываниях Apache Kafka действует как хранилище для потоковых данных, а затем несколько потоковых процессоров могут воздействовать на данные, хранящиеся в Kafka, для получения нескольких выходных данных. Некоторые потоковые архитектуры включают в себя рабочие процессы как для потоковой обработки, так и для пакетной обработки , что либо влечет за собой другие технологии для обработки крупномасштабной пакетной обработки, либо с использованием Kafka в качестве центрального хранилища, как указано в архитектуре Kappa.

LAMBDA ИЛИ KAPPA: ЧТО И КОГДА ВЫБИРАТЬ

Прежде всего отметим, что при общих целях построения надежной и быстрой системы обработки больших данных, подходы лямбда и каппа не конкурируют друг с другом, а могут использоваться вместе для разных случаев. В частности, для надежной работы с озером данных (Data Lake) на базе Apache Hadoop и моделями машинного обучения для прогнозирования будущих событий на основе исторических данных, следует выбрать Лямбда-подход. С другой стороны, если необходимо недорого развернуть Big Data систему для эффективной обработки уникальных событий в реальном времени без исторического анализа, Каппа-архитектура отлично справится с этой задачей. Каппа подходит для тех алгоритмов Machine Learning, которые обучаются в режиме онлайн и не нуждаются в пакетном уровне. Таким образом, для Kappa характерны следующие достоинства :

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

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

Сравнивнение каппа- и лямбда-архитектуры

Обе архитектуры обрабатывают аналитику в реальном времени и историческую аналитику в единой среде. Однако одним из основных преимуществ архитектуры Kappa над архитектурой Lambda является то, что она позволяет вам построить систему потоковой и пакетной обработки на основе единой технологии. Это означает, что вы можете создать приложение потоковой обработки для обработки данных в реальном времени, и, если вам нужно изменить вывод, вы обновляете свой код, а затем снова запускаете его над данными в механизме обмена сообщениями в пакетном режиме. Не существует отдельной технологии для обработки пакетной обработки, как это предлагается в Lambda Architecture.

КАППА-АРХИТЕКТУРА тонкости и смысл

Отличия Каппа от Лямбда архитектур

С достаточно быстрым механизмом потоковой обработки (например, Hazelcast Jet ) вам может не понадобиться отдельная технология, оптимизированная для пакетной обработки. Вы просто читаете сохраненные потоковые данные параллельно (при условии, что данные в Kafka должным образом разделены на отдельные каналы или «разделы») и преобразовываете данные, как если бы они были из источника потоковой передачи. В некоторых средах вы потенциально можете создавать анализируемые выходные данные по запросу, поэтому, когда от конечного пользователя отправляется новый запрос, данные могут быть преобразованы специально для оптимального ответа на этот запрос. Опять же, это требует высокоскоростного механизма обработки потока, чтобы обеспечить малую задержку при обработке.

Хотя в Lambda Architecture не указаны технологии, которые необходимо использовать, компонент пакетной обработки часто выполняется на крупномасштабной платформе данных, такой как Apache Hadoop. Распределенная файловая система Hadoop (HDFS) может экономично хранить необработанные данные, которые затем могут быть преобразованы с помощью инструментов Hadoop в анализируемый формат. В то время как Hadoop используется для компонента пакетной обработки системы, отдельный механизм, предназначенный для потоковой обработки, используется для компонента аналитики в реальном времени. Однако одним из преимуществ лямбда-архитектуры является то, что гораздо большие наборы данных (в диапазоне петабайт) могут более эффективно храниться и обрабатываться в Hadoop для крупномасштабного исторического анализа.

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

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

создано: 2021-09-03
обновлено: 2021-09-03
20



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


Поделиться:

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

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

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

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

Комментарии


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

Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL