Детальная информация

Название: Многопоточный ETL-процесс для создания локальной копии информации посредством REST-интерфейсов: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Авторы: Денисенко Богдан Александрович
Научный руководитель: Никифоров Игорь Валерьевич
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2023
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: ETL; REST; Jira; многопоточность; Golang; multithreading
Тип документа: Выпускная квалификационная работа бакалавра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Бакалавриат
Код специальности ФГОС: 09.03.04
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2023/vr/vr23-3370
Права доступа: Доступ по паролю из сети Интернет (чтение, печать)
Ключ записи: ru\spstu\vkr\22753

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

В данной выпускной квалификационной работе рассматриваются подходы к загрузке данных посредством REST-интерфейсов для их дальнейшего локального хранения. В работе выдвигаются на первый план задача создания высокопроизводительного и отказоустойчивого ETL-процесса на языке Go для локального сохранения данных. Проводится обзор существующих ETL-систем, где выполняется сравнительный анализ различных решений с учетом заранее выбранных критериев. Также осуществляется обзор различных REST-интерфейсов, используемых для загрузки данных. Разработан коннектор к Jira с возможностью персонализации процесса загрузки, описана архитектура программного решения, приведены итоговые результаты оптимизации ETL-процесса посредством использования многопоточности. На практике подобраны оптимальные значения параметров загрузки. Удалось увеличить скорость загрузки почти в 3 раза.

This final qualification work considers approaches to loading data through REST interfaces for their further local storage. The paper highlights the task of creating a high-performance and fault-tolerant ETL process in the Go language for storing data locally. A review of existing ETL systems is carried out, where a comparative analysis of various solutions is performed, taking into account pre-selected criteria. It also provides an overview of the various REST interfaces used to load data. A connector to Jira with the ability to personalize the download process has been developed, the architecture of the software solution has been described, and the final results of optimizing the ETL process through the use of multithreading have been presented. In practice, the optimal values of the loading parameters are selected. It was possible to increase the download speed by almost 3 times.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать
Интернет Авторизованные пользователи СПбПУ Прочитать Печать
-> Интернет Анонимные пользователи

Оглавление

  • СПИСОК ИЛЛЮСТРАЦИЙ
  • СПИСОК СОКРАЩЕНИЙ И ОПРЕДЕЛЕНИЙ
  • ВВЕДЕНИЕ
  • ГЛАВА 1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1. Сравнительный анализ существующих ETL-систем
      • 1.1.1. Apache Airflow
      • 1.1.2. Talend Open Studio
      • 1.1.3. Apache NiFi
      • 1.1.4. Airbyte
    • 1.2. Обзор REST-интерфейсов
      • 1.2.1. GitHub REST API
      • 1.2.2. REST API Stack Exchange
      • 1.2.3. JIRA REST API
    • 1.3. Выводы
  • ГЛАВА 2. АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА ДЛЯ ЛОКАЛЬНОГО СОХРАНЕНИЯ ДАННЫХ
    • 2.1. Архитектура приложения "Jira analyzer"
    • 2.2. Архитектура модуля "Jira connector"
    • 2.3. База данных
      • 2.3.1. PostgreSQL
      • 2.3.2. Модель данных
    • 2.4. Описание алгоритма загрузки, обеспечивающего консистентность данных
    • 2.5. Выводы
  • ГЛАВА 3. РЕАЛИЗАЦИЯ ПРОГРАММНОГО СРЕДСТВА ДЛЯ ЛОКАЛЬНОГО СОХРАНЕНИЯ ДАННЫХ
    • 3.1. Язык программирования
    • 3.2. Описание эндпоинтов
    • 3.3. Модульные тесты
      • 3.3.1. Примененные техники тест дизайна
      • 3.3.2. Результаты тестирования
    • 3.4. Развертывание коннектора
    • 3.5 . Система повторных запросов
    • 3.6. Настройка программы
    • 3.7. Выводы
  • ГЛАВА 4. РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ
    • 4.1. Описание экспериментов
    • 4.2. Проведение экспериментов
    • 4.3. Ограничения на созданную систему
    • 4.4. Обработка результатов экспериментов
    • 4.5. Выводы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЯ

Статистика использования

stat Количество обращений: 1
За последние 30 дней: 1
Подробная статистика