Внедрение корпоративного хранилища данных с использованием open source

Объем данных, которыми располагает бизнес, постоянно увеличивается. Снизить затраты на их обработку можно с помощью корпоративного хранилища данных (КХД)
Источник: РБК

Объем данных, которыми располагает бизнес, постоянно увеличивается. Снизить затраты на их обработку можно с помощью корпоративного хранилища данных (КХД). Об особенностях построения КХД на базе open source-инструментов рассказывает руководитель группы отделения внедрения финансовых систем IBS Роман Бессонов.

Основные цели внедрения КХД

Анализ корпоративных данных позволяет выявлять неочевидные тенденции в деятельности компании, находить точки для оптимизации процессов и повышать рентабельность, но при ручном сборе данных сложно поддерживать оперативность и качество аналитики.

Создание КХД помогает:

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

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

Преимущества КХД на базе оpen source

КХД можно строить на основе решений коммерческих вендоров либо с использованием оpen source-инструментов.

Внедрение хранилища данных на базе оpen source дает ряд преимуществ:

  • Экономия денежных средств на лицензиях и возможность адаптации КХД. Использование оpen source избавляет от привязки к конкретным поставщикам ПО и снижает риск «технологической блокады». Компании могут свободно адаптировать решения вслед за изменяющимися потребностями бизнеса.
  • Горизонтальное масштабирование через применение распределенных СУБД. Вендорские решения рассчитаны преимущественно на вертикальное масштабирование, т.е. наращивание мощности одного сервера. Это не только дорого, но и имеет жесткие ограничения. При горизонтальном масштабировании нагрузка распределяется между новыми узлами, что упрощает расширение системы.
  • Технологическая безопасность и возможность проведения аудита системы. В оpen source-инструментах исходный код доступен для анализа, поэтому уязвимости обычно выявляются и устраняются быстрее, чем в закрытых системах.
  • Готовая платформа для ИИ и машинного обучения. В КХД, построенном на основе оpen source, можно модифицировать ядро и интегрировать любые ML-библиотеки без ограничений лицензий. Кроме того, в этом случае проще масштабировать систему при накапливании больших объемов данных для нужд ИИ.

Кто выбирает оpen source

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

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

Крупные компании обычно работают с КХД на платформах коммерческих вендоров. Сейчас у них, как правило, уже есть внедренные КХД, реализованные с помощью зарубежных продуктов, но из-за санкций и проблем с лицензированием многим приходится переходить на российские аналоги, даже если они пока уступают в функциональности. В итоге появляются гибридные архитектуры, в которых отечественные вендорские решения совмещены с open source. Так компании пытаются сохранить баланс между возможностями системы и ее стоимостью.

В рамках гибридной архитектуры open source-инструменты лучше подходят для хранения сырых данных, ETL и потоковой обработки, вендорские решения — для реализации ядра, мониторинга и финальной аналитики.

Архитектура КХД

Одна из наиболее популярных моделей проектирования хранилищ — «слоеный пирог».

В такой архитектуре используется разделение на функциональные слои, каждый из которых отвечает за определенные задачи:

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

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

Классическая архитектура «слоеный пирог» для КХД удобна тем, что каждый из слоев можно изменять независимо от других. По слоям проще выполнять тестирование. Легко добавлять новые источники данных или BI-инструменты. Можно выполнять замену инструментов на одном слое, не затрагивая другие.

Существуют и другие варианты архитектуры для построения КХД: Data Vault, Anchor Modeling, Lakehouse и т. д. На выбор влияют объем данных, требования к скорости обработки запросов, интеграции с другими системами, запросы бизнеса, но для большинства задач подходит классическая архитектура.

Технологический стек для КХД на open source

Для решения одной и той же задачи при внедрении КХД можно задействовать разные open source-инструменты. Рассмотрим один из вариантов построения хранилища по модели «слоеный пирог».

Источниками данных будут выступать различные системы — от ERP до отдельных баз данных. Для загрузки можно использовать платформу Airbyte, которая поддерживает множество коннекторов.

Управление данными можно реализовать через DBT. С помощью этого инструмента аналитики и инженеры будут управлять процессом подготовки и моделирования данных в самом хранилище. Это упрощает реализацию процессов ETL и ELT, а возможность запускать трансформации по расписанию или по триггеру облегчает обновление данных.

Одними из самых популярных систем хранения данных являются Greenplum[1] и ClickHouse. Эти СУБД отлично справляются с аналитическими задачами, а их совместное использование в одном стеке обеспечивает почти моментальную обработку тысяч запросов одновременно.

При необходимости синхронизации данных между Greenplum и ClickHouse без классического ETL можно использовать связку Debezium и Kafka. Debezium отслеживает изменения в источниках в реальном времени, читая журналы транзакций, и передает события в Kafka. Автоматизировать ETL-процессы поможет Apache Airflow. ELK Stack упростит сбор, анализ и визуализацию логов.

Для визуализации данных и бизнес-аналитики можно применять платформы с открытым кодом — Apache Superset или Metabase.

Особенности использования open source в КХД

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

Сложности возможны и при совмещении open source- и вендорских решений в гибридной архитектуре КХД. В лицензиях вендоров часто указываются запреты на интеграции с определенными open source-инструментами. Коммерческие продукты и open source-решения могут использовать разные схемы и форматы данных, протоколы, API и т. д., из-за чего возникает необходимость в дополнительных разработках. Подходы к безопасности тоже могут различаться. К тому же open source-решения обновляются чаще, чем вендорские, а различия в версиях решений могут привести к отказу системы. Все эти факторы нельзя оставлять без внимания.

[1] Хотя новые версии оригинального ядра Greenplum больше не публикуются, бесплатные архивные версии остаются в свободном доступе.

Следите за новостями компании IBS в соцсетях и блогах
Сайт IBS использует cookie. Это дает нам возможность следить за корректной работой сайта, а также анализировать данные, чтобы развивать наши продукты и сервисы. Оставаясь на сайте и (или) нажимая кнопку «Принять условия», вы соглашаетесь с условиями обработки ваших персональных данных, содержащихся в cookie-файлах. Вы можете запретить сохранение cookie в настройках вашего браузера.