Объем данных, которыми располагает бизнес, постоянно увеличивается. Снизить затраты на их обработку можно с помощью корпоративного хранилища данных (КХД). Об особенностях построения КХД на базе open source-инструментов рассказывает руководитель группы отделения внедрения финансовых систем IBS Роман Бессонов.
Анализ корпоративных данных позволяет выявлять неочевидные тенденции в деятельности компании, находить точки для оптимизации процессов и повышать рентабельность, но при ручном сборе данных сложно поддерживать оперативность и качество аналитики.
Создание КХД помогает:
Кроме того, внедрение хранилища способствует цифровой трансформации компании, т.е. интеграции технологий во все аспекты бизнеса, в том числе создает возможности для использования искусственного интеллекта.
КХД можно строить на основе решений коммерческих вендоров либо с использованием оpen source-инструментов.
Внедрение хранилища данных на базе оpen source дает ряд преимуществ:
Выбор между оpen source- и вендорскими инструментами зависит от бюджета, размера проекта, функциональных требований к системе, требований безопасности и наличия экспертизы.
Open source-решения в КХД чаще всего используют средний бизнес, стартапы и госучреждения. Для них ключевые преимущества — это экономия и гибкость в настройке. Open source выбирают, когда нужно адаптировать систему под уникальные бизнес-процессы или работать с большими данными.
Крупные компании обычно работают с КХД на платформах коммерческих вендоров. Сейчас у них, как правило, уже есть внедренные КХД, реализованные с помощью зарубежных продуктов, но из-за санкций и проблем с лицензированием многим приходится переходить на российские аналоги, даже если они пока уступают в функциональности. В итоге появляются гибридные архитектуры, в которых отечественные вендорские решения совмещены с open source. Так компании пытаются сохранить баланс между возможностями системы и ее стоимостью.
В рамках гибридной архитектуры open source-инструменты лучше подходят для хранения сырых данных, ETL и потоковой обработки, вендорские решения — для реализации ядра, мониторинга и финальной аналитики.
Одна из наиболее популярных моделей проектирования хранилищ — «слоеный пирог».
В такой архитектуре используется разделение на функциональные слои, каждый из которых отвечает за определенные задачи:
Помимо этого, выделяют сервисный слой, отвечающий за управление всеми уровнями хранилища, а также за мониторинг и диагностику ошибок.
Классическая архитектура «слоеный пирог» для КХД удобна тем, что каждый из слоев можно изменять независимо от других. По слоям проще выполнять тестирование. Легко добавлять новые источники данных или BI-инструменты. Можно выполнять замену инструментов на одном слое, не затрагивая другие.
Существуют и другие варианты архитектуры для построения КХД: Data Vault, Anchor Modeling, Lakehouse и т. д. На выбор влияют объем данных, требования к скорости обработки запросов, интеграции с другими системами, запросы бизнеса, но для большинства задач подходит классическая архитектура.
Для решения одной и той же задачи при внедрении КХД можно задействовать разные 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-решения могут использовать разные схемы и форматы данных, протоколы, API и т. д., из-за чего возникает необходимость в дополнительных разработках. Подходы к безопасности тоже могут различаться. К тому же open source-решения обновляются чаще, чем вендорские, а различия в версиях решений могут привести к отказу системы. Все эти факторы нельзя оставлять без внимания.
[1] Хотя новые версии оригинального ядра Greenplum больше не публикуются, бесплатные архивные версии остаются в свободном доступе.