Прежде чем представить архитектуру Lambda и Kappa, давайте сначала рассмотрим историю развития хранилища данных: История развития портала-хранилища данных
кашель,вместе сВзрыв объема данныхиТребования к данным в режиме реального временистановится все выше и выше,а такжеРазвитие технологий больших данных заставляет предприятия постоянно модернизировать и совершенствовать свои решения.,Архитектура хранилища данных также постоянно развивается.,прошли следующие процессы соответственно:Ранний классический номерной склад Архитектура > Автономная архитектура больших данных > Lambda > Kappa > Гибридная архитектура.
Архитектура | композиция | Функции |
---|---|---|
Склад классических номеров Архитектура | В основном реляционные базы данных (mysql, oracle). | Небольшой объем данных и низкие требования к работе в режиме реального времени |
Автономная архитектура больших данных | улей, в основном искра | Большой объем данных и низкие требования к работе в режиме реального времени |
Lambda | улей, искра отвечает за инвентарь, стром/Флинк отвечает за расчеты в реальном времени | Большой объем данных и высокие требования к работе в режиме реального времени. |
Kappa | kafka、strom、Flink | Несколько предприятий, несколько источников данных, источники данных на основе событий |
смешивание Архитектура |
p.s. Если примеры в таблице неуместны, поправьте меня.
LambdaАрхитектура Основная идея состоит в том, чтобы разделить систему больших данных на три уровня.:Batch Layer,Speed Слой и сервировка Слой. Среди них Батч Уровень отвечает за хранение набора данных и предварительный запрос полного набора данных. Скорость Уровень в основном отвечает за расчет дополнительных данных и генерацию данных в реальном времени. Views。Serving Уровень используется для ответа на запросы пользователей. Он будет выполнять пакетную обработку. Просмотры и режим реального времени Результаты представлений объединяются для получения окончательного результата и возвращаются пользователю, как показано ниже.
Lambda Архитектура решает проблему вычислений в реальном времени при больших объёмах данных, но сама Архитектура имеет и определённые недостатки.
Основные идеи Kappa Архитектура включают в себя следующие три пункта:
Под Каппа Архитектура,Исторические данные будут пересчитываться только при необходимости,А процесс расчета в реальном времени и пакетной обработки использует один и тот же код.
проект | Lambda | Kappa |
---|---|---|
Возможности обработки данных | Может обрабатывать чрезвычайно масштабные исторические данные. | Ограниченные возможности обработки исторических данных |
Накладные расходы машины | Пакетная обработка и вычисления в реальном времени должны выполняться постоянно. | При необходимости выполнять полные расчеты, Накладные расходы машина относительно небольшая |
накладные расходы на хранение | Вам нужно сохранить только один результат запроса, накладные расходы на хранение меньше. | Необходимо хранить старые и новые результаты экземпляров, накладные расходы на склад относительно большой |
Сложность разработки и тестирования | Внедрить два набора кодов, сложность разработки и тестирования выше. | Просто посмотрите в лицо рамке, Сложность разработки и относительно небольшое количество |
Затраты на эксплуатацию и техническое обслуживание | Поддерживать два комплектасистема,Затраты на эксплуатацию и техническое обслуживание大 | 只需维护一个框架,Затраты на эксплуатацию и техническое обслуживание Маленький |
В настоящее время многие решения для инкрементальной пакетной обработки в квазиреальном времени также могут отвечать требованиям реального времени с точки зрения стабильности и производительности. на эксплуатацию и техническое Он также показал лучшие результаты в обслуживании. Например, решение квазиреального времени «kudu» (хранилище) + «impala» (вычисления) может реализовывать инкрементальные обновления и запросы olap десятков миллионов данных с превосходной производительностью.
Портал серии хранилищ данных: https://blog.csdn.net/weixin_39032019/category_8871528.html.