Детальная информация
| Название | Разработка декларативного фреймворка для генерации ETL-пайплайнов на основе YAML-конфигураций: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of a declarative framework for generating ETL pipelines based on YAML configurations |
|---|---|
| Авторы | Гайнетдинов Искандар Райханович |
| Научный руководитель | Юсупова Ольга Андреевна |
| Организация | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Выходные сведения | Санкт-Петербург, 2026 |
| Коллекция | Выпускные квалификационные работы ; Общая коллекция |
| Тематика | ETL ; apache airflow ; декларативная конфигурация ; YAML ; медленно меняющиеся измерения ; генерация кода ; Pydantic ; хранилище данных ; declarative configuration ; slowly changing dimensions ; code generation ; data warehouse |
| Тип документа | Выпускная квалификационная работа бакалавра |
| Язык | Русский |
| Уровень высшего образования | Бакалавриат |
| Код специальности ФГОС | 09.03.04 |
| Группа специальностей ФГОС | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-1851 |
| Права доступа | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Дополнительно | Новинка |
| Ключ записи | ru\spstu\vkr\42508 |
| Дата создания записи | 21.08.2026 |
Разрешенные действия
–
Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети
| Группа | Анонимные пользователи |
|---|---|
| Сеть | Интернет |
Тема выпускной квалификационной работы: «Разработка декларативного фреймворка для генерации ETL-пайплайнов на основе YAML-конфигураций». Объект исследования – процесс разработки ETL-пайплайнов в экосистеме Apache Airflow. Цель работы – разработать и экспериментально оценить фреймворк yamlflow, позволяющий описывать ETL-процессы, включая паттерны медленно меняющихся измерений (SCD Type 1–4) и инкрементальную загрузку, в виде декларативных YAML-конфигураций с последующей генерацией кода DAG для Apache Airflow. Методология работы включает анализ предметной области и сравнительный анализ существующих инструментов оркестрации, проектирование YAML-схемы на базе Pydantic v2 и модульной архитектуры, реализацию генератора кода и библиотеки SCD, а также экспериментальную оценку методами модульного и property-based тестирования. Результаты работы: реализован работающий open-source пакет; время генерации DAG составило 18–38 мс; трудозатраты на разработку типового пайплайна сокращены на 82 % по сравнению с ручной разработкой; подтверждена корректность всех поддерживаемых стратегий загрузки. Область применения результатов – команды Data Engineering, использующие Apache Airflow для построения и сопровождения корпоративных хранилищ данных. Выводы: декларативный подход к описанию ETL-пайплайнов позволяет существенно снизить дублирование кода и трудозатраты при сохранении гибкости оркестратора.
The subject of the graduate qualification work is «Development of a declarative framework for generating ETL pipelines based on YAML configurations». The object of the research is the process of developing ETL pipelines within the Apache Airflow ecosystem. The aim of the work is to design and experimentally evaluate the yamlflow framework, which allows ETL processes – including slowly changing dimension patterns (SCD Type 1–4) and incremental loading – to be described as declarative YAML configurations with subsequent DAG code generation. The methodology includes an analysis of the problem domain and a comparative analysis of existing orchestration tools, the design of a YAML schema based on Pydantic v2 and a modular architecture, the implementation of a code generator and an SCD library, and an experimental evaluation using unit and property-based testing. Results: a working open-source package was implemented; DAG generation took 18–38 ms; the effort required to build a typical pipeline was reduced by 82 % compared with manual development; the correctness of all supported loading strategies was confirmed. The results can be applied by Data Engineering teams that use Apache Airflow to build and maintain corporate data warehouses. The declarative approach significantly reduces code duplication and development effort while preserving the flexibility of the orchestrator.
| Место доступа | Группа пользователей | Действие |
|---|---|---|
| Локальная сеть ИБК СПбПУ | Все |
|
| Интернет | Авторизованные пользователи СПбПУ |
|
| Интернет | Анонимные пользователи |
|
- ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
- ВВЕДЕНИЕ
- ГЛАВА 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
- 1.1. Архитектуры корпоративных хранилищ данных
- 1.2. Паттерны медленно меняющихся измерений (SCD Type 1, 2, 3, 4)
- 1.3. Декларативный подход и Infrastructure as Code
- 1.4. Обзор существующих инструментов
- 1.5. Сравнительный анализ инструментов
- 1.6. Обоснование необходимости разработки
- ГЛАВА 2. ПРОЕКТИРОВАНИЕ СИСТЕМЫ YAMLFLOW
- 2.1. Требования к системе
- 2.1.1. Функциональные требования
- 2.1.2. Нефункциональные требования
- 2.2. Архитектура системы
- 2.3. Схема YAML-конфигурации
- 2.4. Генератор кода
- 2.5. SCD-библиотека
- 2.6. CLI
- 2.7. Структура репозитория
- 2.8. Среда разработки
- 2.1. Требования к системе
- ГЛАВА 3. РЕАЛИЗАЦИЯ СИСТЕМЫ YAMLFLOW
- 3.1. Инструментальная среда
- 3.2. Слой Schema
- 3.3. Слой Parser
- 3.4. Генератор (AirflowBackend)
- 3.5. SCD-библиотека
- 3.6. Таблица audit_log
- 3.7. Инструменты качества кода
- 3.8. Тестирование
- 3.9. Примеры конфигурации
- ГЛАВА 4. ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА СИСТЕМЫ
- 4.1. Методология оценки
- 4.2. Производительность генерации
- 4.3. Сравнение трудозатрат
- 4.4. Нагрузочное тестирование SCD2
- 4.5. Проверка корректности
- 4.6. Ограничения системы
- 4.7. Сравнение с аналогами
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ