19.01.2023

Архитектура платформы обработки больших данных в облаке

Сергей Кравченко, Старший аналитик данных, Beltel Datanomics

 

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

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

  1. Volume – объем данных, который характеризуется в единицах измерения памяти на физических носителях. Большие данные начинаются там, где классические инструменты хранения или обработки данных бессильны из-за их объема.
  2. Value – значимость или ценность. Бессмысленно разворачивать сложную инфраструктуру обработки данных, если информация не имеет бизнес ценности. Эта характеристика является самой важной для проектов с большими данными.
  3. Variety – разнообразие. Эта характеристика заставляет строить более сложную, универсальную, «всеядную» систему обработки данных.
  4. Velocity – скорость поступление данных. Накладывает дополнительные требования на способность системы потреблять и обрабатывать данные на этапе получение их от источника.
  5. Veracity – достоверность. Данным можно доверять и принимать на основе их бизнес решения.

Концепция технологии обработки больших данных в облаке

На Рисунке 1 представлена архитектура, реализующая полный цикл работы с большими данными, разделенный на этапы.

Рисунок 1. Архитектура аналитической платформы

 

Передача данных (Transport/Format)

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

Трансформация (ETL/Processing)

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

Промежуточное хранение (Staging storage)

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

Хранение данных (Storage)

Существует богатый выбор облачных систем хранения данных. Выбор зависит от формата данных и задач. Например, в задачах обработки аналитических запросов хорошо подходят такие СХД как ClickHouse, для обработки транзакционных запросов широко применим PostgreSQL. Для хранения данных в json-подобных структурах, иногда называемыми документами, можно использовать MongoDB. Для реализации быстрого полнотекстового поиска используют Elasticsearch. Для работы с большими данными используют распределенные вычислительные системы, такие как Spark и HDFS, позволяющие использовать технологии машинного обучения в своей экосистеме.

Создание пользовательских приложений (Business logic)

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

Заключение

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

Облако – это безопасно. Наши партнеры имеют аттестаты и сертификаты по информационной безопасности, в частности аттестат соответствия ИСПДн (информационной системы персональных данных), соответствующий требованиям российского законодательства по защите персональных данных. Это соответствует первому, самому высокому, уровню защищенности, позволяющему работать с персональными данными любой категории.

Дополнительно

Построение аналитической платформы в облаке Yandex Cloud (datanomics.ru)

Пример построения гибридных систем с выносом аналитики в облако (datanomics.ru)

Оптимизируем вычислительные ресурсы с помощью платформы Kafka (datanomics.ru)

Оставьте заявку и получите бюджет и план внедрения наших решений в ваш бизнес

    Заполняя форму, Вы соглашаетесь с правилами обработки персональных данных.

    Мы используем файлы cookies, чтобы получать статистику и делать наш сайт и другие сервисы удобными для вас. Продолжая дальнейшее использование сайта и/или его сервисов, вы соглашаетесь с этим. Более подробную информацию можно прочитать в «Политика обработки персональных данных» и в «Политика Cookies»