17/08/2021
Матрица подбора инструментов Data pipelines
Data pipelines (конвейер данных) зачастую рассматриваются организациями не просто как способ поставки данных (процесс), но и как некий программный актив, характеристики которого обеспечивают data-driven подход к принятию решений.
Характеристиками актива (продуктовыми метриками) в таком подходе традиционно выступают:
-Скорость или пропускная способность - это то, сколько данных конвейер может обработать за установленный промежуток времени.
-Надежность конвейера данных - необходимость, чтобы отдельные системы в конвейере данных были отказоустойчивыми. Надежный конвейер данных со встроенными механизмами аудита, регистрации и проверки помогает обеспечить качество данных.
-Задержка - это время, необходимое для прохождения отдельной единицы данных по конвейеру. Задержка больше связана со временем отклика, чем с объемом или пропускной способностью. Поддержание низкой задержки может быть дорогостоящим с точки зрения как цены, так и ресурсов обработки.
Однако, если говорить о фундаментальном компонентном подходе, в котором Data pipeline рассматривается не как сервис или платформа, а именно как совокупная программная цепочка, то для его поддержки организациям зачастую требуется следующий компонентный набор:
-Среда разработки и развертывания
-Графическая оболочка для среды разработки для управления потоком данных (в частности, для контроля преобразования данных)
-Среда тестирования
-Инструменты контроля версионности
-Мониторинговые инструменты для контроля и устранения неполадок
Выбор конкретных инструментов (технологический стек) и их конфигурация зависят как от самой задачи, так и от многих иных параметров, не связанных напрямую с данными. Передовые практики оркестрации и автоматизации Data pipeline базирутся на следующих подходах:
-Непрерывная оценка структуры источников данных (метаданных) для оперативного управления изменениями (автоматическое обнаружение изменения схемы в источнике данных).
-Автоматическая генерация кода для модификации приемника данных;
-Обеспечение разнообразия коннекторов, которые могут принимать данные из самых разных файлов, баз данных, потоков событий, облачных сервисов и приложений.
-Поддержка разнообразных подходов к извлечению / загрузки / преобразованию (ELT) для интеграции и преобразования данных.
-Управление нормализацией данных для автоматизации создания конвейеров данных и создания готовых для анализа активов данных.
-Возможность использования гибридных облачных вычислений для поддержки масштабной интеграции.
-Поддержка репликации и автоматического восстановления после сбоя.
У-довлетворение требованиям защиты данных и обеспечение сквозного шифрования для предотвращения несанкционированного использования.
Но и сами эти инструменты, в свою очередь, влияют на систему ритуалов, складывающихся вокруг поставки данных, и определяют, как в конечном итоге выглядят процессы разработки, обслуживания и управления конвейерами данных.