Архитектура больших данных: наиболее полная экосистема архитектуры больших данных во всей сети.
Архитектура больших данных: наиболее полная экосистема архитектуры больших данных во всей сети.

Введение

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

Основные технологии в современной экосистеме больших данных обобщены, как показано на рисунке 1, и разделены на следующие 9 категорий, которые представлены ниже.

1. Структура технологии сбора данных

Сбор данных также известен как синхронизация данных.

С развитием таких технологий, как Интернет, мобильный Интернет и Интернет вещей, были созданы огромные объемы данных. Эти данные разбросаны повсюду, и нам нужно объединить эти данные, а затем вычислить ценный контент из этих огромных данных. Первый шаг, который вам нужно сделать на этом этапе, — это собрать данные. Сбор данных — основа больших данных. Без сбора данных не бывает больших данных!

Существует несколько технологий сбора данных.

  • Flume и LogstashиFileBeat часто используются для мониторинга и сбора логов в реальном времени.,Подробные различия между ними показаны в Таблице 1;
  • SqoopиDatax часто используется для автономного сбора данных из реляционных библиотек данных. Подробные различия между ними показаны в Таблице 2;
  • CannalиMaxwell часто используется для сбора библиотек реляционных данных в реальном времени.,Подробные различия между ними показаны в Таблице 3.

Выбор технологий Flume, Logstash и FileBeat показан на рисунке 2.

Выбор технологии между Sqoop и Datax показан на рисунке 3.

Выбор технологий между Cannal и Maxwell показан на рисунке 4.

2. Структура технологии хранения данных

Быстрый рост объема данных способствовал развитию технологий, и появился ряд отличных систем хранения, поддерживающих распределенное хранение. Платформы технологий хранения данных включают HDFS, HBase, Kudu, Kafka и т. д.

  • HDFS может решить проблему хранения больших объемов данных,Но его самым большим недостатком является то, что для отдельных данных не требуется операция модификации.,Потому что это все-таки не библиотека данных.
  • HBase — это распределенная библиотека NoSQL, основанная на HDFS. это означает,HBase может использовать преимущества огромной емкости HDFS.,И поддержать операцию модификации. Но HBase не является реляционной библиотекой.,Поэтому он не может поддерживать традиционный синтаксис SQL.
  • Kudu — технический компонент между HDFS и HBase.,теперь этоподдерживатьданные Исправлять,Также поддерживается функция анализа данных на основе SQL. Текущее позиционирование Kudu довольно неудобно;,Относится к компромиссному плану,Оно имеет ограниченное применение в практической работе.
  • Kafka часто используется для временного буферного хранения огромных объемов данных.,Обеспечьте внешнему миру возможности высокопроизводительного чтения и записи.

3. Структура управления распределенными ресурсами

В традиционной ИТ-сфере ресурсы корпоративных серверов (память, процессор и т. д.) ограничены и фиксированы. Однако сценарии применения серверов гибки и изменчивы. Например, сегодня система временно подключена к сети и требует нескольких серверов. Через несколько дней систему необходимо отключить и очистить эти серверы.

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

С приходом эпохи больших данных спрос на временные задачи сильно возрос, и эти задачи часто требуют большого количества ресурсов сервера.

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

Поэтому, как того требует время, появились системы управления распределенными ресурсами, к числу распространенных из которых относятся YARN, Kubernetes и Mesos. Их типичные области применения показаны на рисунке 5.

4. Структура расчета данных

Расчет данных делится на расчет данных в автономном режиме и расчет данных в реальном времени.

(1) Расчет данных в автономном режиме

После более чем десяти лет разработки механизм автономных вычислений больших данных претерпел три основных изменения.

  • MapReduce можно назвать большим данные Первое в отрасли поколение оффлайнданные Вычислительный двигатель,Он в основном используется для решения распределенных параллельных вычислений крупномасштабных наборов данных. Основная идея вычислительного механизма MapReduce заключается в,Вычислительная логика Воля разделена на два этапа обработки: Map и уменьшает.
  • Вычислительный механизм Tez слабо представлен в экосистеме технологий больших данных. В реальной работе Tez редко используется отдельно для разработки вычислительных программ.
  • Самая большая особенность Spark — вычисления в памяти: все промежуточные результаты на этапе выполнения задачи помещаются в память.,Нет необходимости читать и записывать диск,Значительно улучшена вычислительная производительность данных. Spark предоставляет большое количество функций высшего порядка (также называемых операторами).,Может реализовывать итерационные вычисления различной сложной логики.,Он очень подходит для применения в быстрых и сложных вычислениях больших объемов данных.

(2) Расчет данных в реальном времени

Наиболее типичным сценарием обработки данных в реальном времени в отрасли является экран больших данных Tmall «Double Eleven».

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

После того, как пользователь приобретет продукт, сумма продукта будет добавлена ​​к общей сумме транзакции на экране больших данных в режиме реального времени.

Для расчета данных в реальном времени используются три основных инструмента:

  • Storm в основном используется для реализации распределенных вычислений в реальном времени.
  • Flink принадлежит к новому поколению распределенных вычислительных механизмов реального времени, а его вычислительная производительность и экосистема лучше, чем у Storm.
  • Компонент SparkStreaming в Spark также может предоставлять возможности распределенных вычислений в реальном времени с точностью до секунд.

Различия между Spark Streaming, Storm и Flink показаны в таблице 4.

Выбор технологий среди Storm, Spark и Flink показан на рисунке 6.

Раньше Spark в основном использовался для автономных вычислений на предприятиях, а Flink в основном использовался для вычислений в реальном времени.

5. Технологическая основа анализа данных

В число технологий анализа данных входят Hive, Impala, Kylin, Clickhouse, Druid, Drois и т. д. Типичные сценарии их применения показаны на рисунке 7.

Hive, Impala и Kylin являются типичными механизмами автономного анализа данных OLAP и в основном используются в области автономного анализа данных. Различия между ними показаны в таблице 5.

  • Эффективность выполнения Hive средняя, ​​но стабильность чрезвычайно высока;
  • Impala может обеспечить отличную эффективность выполнения на основе памяти, но ее стабильность средняя;
  • Kylin может предоставить ответ на уровне данных PB за миллисекунды посредством предварительного расчета.
Вставьте сюда описание изображения
Вставьте сюда описание изображения

Clickhouse, Druid и Drois являются типичными механизмами анализа данных OLAP в реальном времени и в основном используются в области анализа данных в реальном времени. Различия между ними показаны в таблице 6.

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

6. Технологическая основа планирования задач

Технологические платформы планирования задач включают Azkaban, Ooize, DolphinScheduler и т. д. Они подходят для планирования рутинных задач, которые выполняются в обычное время, а также многоуровневых задач, содержащих сложные зависимости. Они поддерживают распределение и обеспечивают производительность и стабильность системы планирования. Различия между ними показаны в таблице 7.

Предыдущий выбор технологии показан на рисунке 8.

7. Большие данные, лежащие в основе базовой технологической структуры

Базовая технологическая основа больших данных в основном относится к Zookeeper. Zookeeper в основном предоставляет часто используемые базовые функции (такие как пространство имен, службы конфигурации и т. д.). Zookeeper используется для запуска таких технических компонентов, как Hadoop (HA), HBase и Kafka, в экосистеме больших данных.

8. Структура технологии поиска данных

С постепенным накоплением данных на предприятиях требования к статистическому анализу массивных данных будут становиться все более разнообразными: не только анализ, но и быстрые и сложные запросы с множеством условий. Например, функция поиска продуктов на веб-сайтах электронной коммерции и функция поиска информации в различных поисковых системах относятся к категории быстрых и сложных запросов с множеством условий. Выбирая инструмент полнотекстового поиска, вы можете сравнить его по простоте использования, масштабируемости, стабильности, сложности эксплуатации и обслуживания кластера, степени интеграции проекта и активности сообщества. Сравнение Lucene, Solr и Elasticsearch показано в таблице 8.

Вставьте сюда описание изображения
Вставьте сюда описание изображения

9. Структура установки и управления кластером больших данных

Если предприятие хочет перейти от традиционной обработки данных к обработке больших данных, первое, что нужно сделать, — это построить стабильную и надежную платформу больших данных. Полноценная платформа больших данных должна включать сбор данных, хранение данных, расчет данных, анализ данных, мониторинг кластера и другие функции, а это означает, что она должна включать Flume, Kafka, Haodop, Hive, HBase, Spark, Flink и другие компоненты. Эти компоненты необходимо развернуть на сотнях или даже тысячах машин.

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

Поэтому некоторые зарубежные производители инкапсулировали компоненты в большие данные и предоставили интегрированную платформу больших данных, которую можно использовать для быстрой установки компонентов больших данных. В настоящее время к наиболее распространенным в отрасли относятся CDH, HDP, CDP и т. д.

  • ДПН: Полное имя Hortonworks Data Платформа. он состоит из Hortonworks Компания основана на Apache Hadoop инкапсулированный с помощью Ambari Инструмент обеспечивает установку и управление на основе интерфейса, а также интегрирует большие Общие компоненты в данных, Может обеспечить комплексное управление кластером. ДПН Относится к бесплатной версии с открытым исходным кодом. Платформа данных не предоставляет коммерческих услуг;
  • CDH: Полное имя Cloudera Distribution Including Apache Хадуп. он состоит из Cloudera Компания основана на Apache Hadoop был коммерциализирован с помощью Cloudera Manager Инструмент обеспечивает установку и управление на основе интерфейса, а также интегрирует большие Общие компоненты в данных,Может обеспечить комплексное управление кластером. CDH Относится к коммерческим сборам платформа данных, доступная для пробной версии по умолчанию 30 небо. После этого, если вы хотите продолжать использовать расширенные функции и коммерческие услуги, вам необходимо заплатить за лицензию. Если вы используете только базовые функции, вы можете продолжать использовать их бесплатно;
  • CDP:Cloudera Компания находится в 2018 Год 10 Приобретено за месяц Hortonworks, затем выпустила новое поколение больших продукты платформы данных CDP(Cloudera Data Center)。CDP Номер версии продолжает предыдущий. CDH номер версии. от 7.0 версия запускается, CDP поддерживать Private Облако (частное облако) и Hybrid Облако (гибридное облако). CDP Воля HDP и CDH Были интегрированы наиболее выдающиеся компоненты и добавлены некоторые новые компоненты.

Взаимосвязь между ними показана на рисунке 9.

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода