Классификация и сравнительный анализ подходов к сбору колоночного уровня data lineage на базе Apache Spark
Таблица 2 - Множество значений выбранных критериев
Критерий | Возможные значения | Интерпретация значений |
Уровень детализации сбора | Табличный, столбцовый | Табличный — фиксируются зависимости только между наборами данных/таблицами. Столбцовый — фиксируются зависимости между отдельными столбцами, включая результаты сложных выражений. |
Поддержка пакетных и потоковых процессов | Только пакетный, только потоковый, комбинированный | Только пакетный — поддерживаются исключительно batch-конвейеры. Только потоковый — ориентированность на streaming-сценарии. Комбинированный — поддерживаются и пакетные, и потоковые процессы. |
Уровень покрытия операций над столбцами | Отсутствует, базовые функции, поддержка UDF | Отсутствует — операции над столбцами не анализируются. Базовые функции — поддерживаются стандартные SQL/DF-операции. Поддержка UDF — дополнительно корректно обрабатывается часть пользовательских функций. |
Накладные расходы | Отсутствует, существенные, фоновые | Отсутствует — влияние на производительность практически не фиксируется. Существенные — заметное увеличение времени выполнения задач, блокировка или значительное потребление ресурсов. Фоновые — асинхронный сбор, умеренная дополнительная нагрузка. |
Масштабируемость и отказоустойчивость | Отсутствует, ограниченная, полная | Отсутствует — решение не рассчитано на рост нагрузки, отсутствуют механизмы отказоустойчивости. Ограниченная — доступно базовое масштабирование и минимальные механизмы отказоустойчивости. Полная — поддерживается горизонтальное масштабирование и развитые механизмы отказоустойчивости. |
Инфраструктурные требования | Минимальные, умеренные, высокие | Минимальные — используются только существующие компоненты платформы. Умеренные – требуется развёртывание отдельного сервиса. Высокие — необходима внешняя архитектура с несколькими сервисами и специализированными хранилищами. |
Открытый исходный код | Отсутствует, частично, полностью | Отсутствует — решение полностью проприетарное. Частично — часть компонентов или функциональности доступна как open source. Полностью — ключевые компоненты решения доступны с открытым исходным кодом. |
