Please use this identifier to cite or link to this item: http://elartu.tntu.edu.ua/handle/lib/48119
Title: Методи та засоби розробки гнучкої та маштабованої ETL-системи для обробки великих обсягів даних
Other Titles: Methods and tools for developing a flexible and scalable ETL system for processing large volumes of data
Authors: Луговий, Андрій Сергійович
Luhovyi, Andrii
Affiliation: Тернопільський національний технічний університет імені Івана Пулюя
Ternopil Ivan Puluj National Technical University
Bibliographic description (Ukraine): Луговий А.С. Методи та засоби розробки гнучкої та маштабованої ETL-системи для обробки великих обсягів даних : кваліфікаційна робота на здобуття ступеня магістр: спец. 123 — комп’ютерна інженерія / наук.кер. Є.В. Тиш. Тернопіль: ТНТУ, 2024. 71 с.
Bibliographic description (International): Luhovyi A. Methods and tools for developing a flexible and scalable ETL system for processing large volumes of data : Master Thesis „123 — Computer Engineering“ / Andrii Luhovyi - Ternopil, TNTU, 2024 – 71 p.
Issue Date: 28-Dec-2024
Submitted date: 26-Jun-2024
Date of entry: 2-Feb-2025
Publisher: Тернопільський національний технічний університет імені Івана Пулюя
Country (code): UA
Place of the edition/event: Тернопільський національний технічний університет імені Івана Пулюя
Supervisor: Тиш, Євгенія Володимирівна
Tysh, Ievgeniia
Committee members: Цуприк, Галина Богданівна
Tsupryk, Halyna
UDC: 004.67
Keywords: 123обробка даних
комп’ютерна інженерія
ETL-система
алгоритм
платформа
Apache Airflow
PostgreSQL візуалізація даних
API
інтеграція даних.
ETL system
data processing
architectural model
scalability
algorithm
platform
PostgreSQL
data visualization
data integration
Number of pages: 71
Abstract: Кваліфікайна робота присвячена присвячена розробленню автоматизованих ETL-процесів для збору, обробки та збереження даних із використанням Docker-контейнерів та бази даних PostgreSQL. У першому розділі проведено аналіз сучасних підходів до реалізації ETL-процесів, розглянуто інструменти для екстракції, трансформації та завантаження даних. Оцінено можливості використання Apache Airflow для підвищення ефективності обробки даних. У другому розділі описано вибір інструментів, таких як FastAPI, Docker і PostgreSQL, та розроблено архітектуру ETL-системи. Система автоматично збирає дані з зовнішніх API, трансформує їх і завантажує у базу даних. Третій розділ присвячено реалізації системи. Деталізовано створення Docker-контейнера для виконання ETL-процесу, інтеграцію FastAPI для запитів користувача та підключення до PostgreSQL. Описано розробку програмного забезпечення для збору, обробки та збереження даних. У останньому розділі детально розглянуто аспекти охорони праці та безпеки в надзвичайних ситуаціях під час розробки і експлуатації автоматизованих ETL-процесів.
The qualification work is dedicated to the development of automated ETL processes for data collection, processing, and storage using Docker containers and a PostgreSQL database. In the first chapter, an analysis of modern approaches to implementing ETL processes is conducted, and tools for data extraction, transformation, and loading are reviewed. The potential of using Apache Airflow to enhance data processing efficiency is evaluated. The second chapter describes the selection of tools, including FastAPI, Docker, and PostgreSQL, and the development of the ETL system architecture. The system automatically collects data from external APIs, transforms it, and loads it into the database. The third chapter focuses on the implementation of the system. It details the creation of a Docker container for executing the ETL process, the integration of FastAPI for user queries, and the connection to PostgreSQL. The chapter also outlines the development of software for data collection, processing, and storage. The final section thoroughly examines aspects of occupational safety and emergency security during the development and operation of automated ETL processes.
Content: ВСТУП.10 РОЗДІЛ 1 ОСНОВИ ТА СУЧАСНІ ПІДХОДИ ДО СТВОРЕННЯ ETL-СИСТЕМ 14 1.1. Визначення та роль ETL-систем у сучасному середовищі обробки даних 14 1.2. Огляд сучасних підходів до розробки ETL-систем.15 1.3. Вимоги до платформ для обробки даних 17 1.4. Аналіз існуючих технологій для автоматизації процесів повязаних з даними 19 РОЗДІЛ 2 МЕТОДИ ТА ІНСТРУМЕНТИ РОЗРОБКИ ГНУЧКИХ І МАСШТАБОВАНИХ ETL-СИСТЕМ 23 2.1. Вибір архітектурної моделі для побудови системи обробки даних 23 2.2. Методи автоматизації етапів Extract, Transform, Load 27 2.2.1 Методи вилучення даних із зовнішніх джерел 28 2.2.2 Інструменти та технології для обробки і трансформації даних 30 2.2.3 Стратегії завантаження та збереження даних у цільових сховищах 31 2.3. Інструменти та технології для автоматизації ETL 33 2.4. Вибір методів для реалізації масштабованої обробки даних 35 2.5. Інструменти та технології для автоматизації ETL 38 РОЗДІЛ 3 РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ РОЗРОБЛЕНОГО РІШЕННЯ 40 3.1. Розробка алгоритмів та програмного забезпечення для ETL-процесів 40 3.2. Створення модуля трансформації даних: перевірка, очищення та підготовка до аналізу. 42 3.3. Підключення до PostgreSQL для зберігання оброблених даних 44 3.4. Використання Apache Airflow для оркестрації ETL-процесів 48 3.5. Аналіз та тестуання ефективності та масштабованості системи 49 РОЗДІЛ 4 ОХОРОНА ПРАЦІ ТА БЕЗПЕКА В НАДЗВИЧАЙНИХ СИТУАЦІЯХ 52 4.1. Охорона праці 52 4.2. Безпека в надзвичайних ситуаціях 53 4.2.1. Середовище проживання людини: навколишнє, виробниче, побутове. Проблема безпека людини і завдання керівного складу і її забезпечені 53 ВИСНОВКИ 56 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 57 Додаток A. Тези конференцій 59 Додаток Б. Скрипт запуску ETL-системи 65
URI: http://elartu.tntu.edu.ua/handle/lib/48119
Copyright owner: © Луговий Андрій Сергійович, 2024
© Luhovyi Andrii, 2024
References (Ukraine): Salqvist P. A comparative study of the Data Warehouse and Data Lakehouse architecture : Degree Project in the Field of Technology Information Technology and the Main Field of Study Computer Science and Engineering. Stockholm, 2023. 147 с. Realdy C. ETL Processes: Evolution and Trends. Cambridge University Press, 2020. С. 256-273.
Karau H. Learning Spark: Lightning-Fast Big Data Analysis. O'Reilly Media, 2015. С. 63-96.
Integrating Airflow & Databricks for ETL | Databricks Blog, 2023. URL: https://databricks.com/blog/2023/02/integrating-airflow-databricks-for-etl (дата звернення 23.11.2024).
Apache Airflow Documentation. URL: https://airflow.apache.org/docs/ (дата звернення 26.11.2024).
Spark Documentation. URL: https://spark.apache.org/docs/latest/ (дата звернення 28.11.2024).
PostgreSQL Documentation. URL: https://www.postgresql.org/docs/ (дата звернення 29.11.2024).
Docker Documentation. URL: https://docs.docker.com/ (дата звернення 30.10.2024).
Heinrich T. Using Apache Airflow for ETL Pipelines. Data Science Journal, 2022. С. 103-118.
Frank H., Smith K. PostgreSQL for Data Analytics. O'Reilly Media, 2021.
Wang X., Zhou J. Implementing ETL Pipelines with Docker. Journal of Cloud Computing, 2021. С. 45-5
Thabet N., Soomro T. Big Data Challenges. Journal of Computer Engineering & Information Technology. 2015. Т. 4, № 3. С. 1–2. 2.
Simitsis A., Skiadopoulos S., Vassiliadis P. The History, Present, and Future of ETL Technology. Test-of-Time Award - Invited Talk. 2023. С. 3–12.
Gorhe S. ETL in Near-real-time Environment: A Review of Challenges and Possible Solutions : Research. Auckland, 2020.
Zode M. The Evolution of ETL -From Hand-coded ETL to Tool-based ETL. Cognizant Technology Solutions. С. 2–5.
What is container orchestration?. Red Hat. URL: https://www.redhat.com/en/topics/containers/what-is-container-orchestration. (дата звернення: 15.12.2024). 82
What is container orchestration?. VMWare. URL: https://www.vmware.com/topics/glossary/content/container-orchestration.html (дата звернення: 15.12.2024).
Vauban V. Orchestrator Comparison: Docker Swarm vs Kubernetes vs Apache Mesos. Linkedin. URL: https://www.linkedin.com/pulse/orchestrator-comparison-docker-swarm-vskubernetes-apache-vauban/ (дата звернення: 15.12.2024).
Nickoloff J. Evaluating Container Platforms at Scale. Medium. URL: https://medium.com/on-docker/evaluating-container-platforms-atscale-5e7b44d93f2c#.pbxx2w5ai (дата звернення: 15.12.2024).
Kronis. Docker Swarm over Kubernetes. Kronis Blog. URL: https://blog.kronis.dev/articles/docker-swarm-over-kubernetes (дата звернення: 16.12.2024).
Deploy to Swarm Swarm.docs. URL: https://docs.docker.com/get-started/swarm-deploy/ (дата звернення: 16.12.2024).
Raft consensus in swarm mode. Swarm.docs. URL: https://docs.docker.com/engine/swarm/raft/ (дата звернення: 16.12.2024).
Swarm mode key concepts. Swarm.docs. URL: https://docs.docker.com/engine/swarm/key-concepts/ (дата звернення: 16.12.2024).
Луцик Н.С., Луцків А.М., Осухівська Г.М., Тиш Є.В. Програма та методичні рекомендації з проходження практики за тематикою кваліфікаційної роботи для студентів спеціальності 123 «Комп’ютерна інженерія» другого (магістерського) рівня вищої освіти усіх форм навчання. Тернопіль: ТНТУ. 2024. 45 с.
Луцик Н.С., Луцків А.М., Осухівська Г.М., Тиш Є.В. Методичні рекомендації до виконання кваліфікаційної роботи магістра для студентів спеціальності 123 «Комп’ютерна інженерія» другого (магістерського) рівня вищої освіти усіх форм навчання. Тернопіль. 2024. 44 с.
Варавін А.В., Лещишин Ю.З., Чайковський А.В. Методичні вказівки до виконання курсового проєкту з дисципліни «Дослідження і проєктування комп’ютерних систем та мереж» для здобувачів другого (магістерського) рівня вищої освіти спеціальності 123 «Комп’ютерна інженерія» усіх форм навчання. Тернопіль: ТНТУ, 2024. 32 с.
Луговий А.С., Тиш Є.В. Методи та засоби роботи ETL-процесів в умовах високих навантажень. Матеріали ХІІ міжнародної науково-практичної конференції молодих учених та студентів «Актуальні задачі сучасних технологій» (11-12 грудня 2023 року). Тернопіль: ТНТУ. 2024. C. 420.
Луговий А.С., Тиш Є.В. Методи оптимізації продуктивності etl-систем у багаторівневих аналітичних платформах. Матеріали ХІІ науково-технічної конференції Тернопільського національного технічного університету імені Івана Пулюя «Інформаційні моделі, системи та технології» (18-19 грудня 2024 року). Тернопіль: ТНТУ. 2024. C. 162.
Жидецький В.Ц. Охорона праці користувачів комп´ютерів. Львів: Афіша, 2011. 176 с
Стручок, Володимир Сергійович. "Безпека в надзвичайних ситуаціях. Методичний посібник для здобувачів освітнього ступеня «магістр» всіх спеціальностей денної та заочної (дистанційної) форм навчання." Тернопіль: ТНТУ. 2022. C. 67.
Стручок, Володимир Сергійович. "Техноекологія та цивільна безпека. Частина «Цивільна безпека». Навчальний посібник." Тернопіль: ТНТУ. 2022. C. 42.
Микитишин А. Г., Митник М. М., Стухляк П. Д., Пасічник В. В. Комп’ютерні мережі. Книга 1 [навчальний посібник]. Львів : «Магнолія 2006», 2013. 256 с.
Микитишин А. Г., Митник М. М., Стухляк П. Д., Пасічник В. В. Комп’ютерні мережі. Книга 2. [навчальний посібник]. Львів : "Магнолія 2006", 2014. 312 с.
Лупенко С. А., Пасічник В. В., Тиш Є. В. Комп’ютерна логіка. Львів: Видавництво «Магнолія - 2006». 2015. 354 с.
Sachin D. N. Distinguishing HDFS from Cloud Data Lakes: ADLS Gen2 and Amazon S3. Linkedin. URL: https://www.linkedin.com/pulse/distinguishing-hdfs-from-cloud-data-lakes-adlsgen2-amazon-d-n--7e2fc/ (дата звернення: 16.12.2024).
BryteFlow. How to choose between Parquet, ORC and AVRO for S3, Redshift and Snowflake?. BryteFlow. URL: https://bryteflow.com/how-to-choose-between-parquet-orc-and-avro/ (дата звернення: 16.12.2024).
Content type: Master Thesis
Appears in Collections:123 — комп’ютерна інженерія

Files in This Item:
File Description SizeFormat 
Andrii_Luhovyi.pdf2,34 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Admin Tools