Σχεδίαση και υλοποίηση ροών εργασιών βασισμένων σε κατευθυνόμενους άκυκλους γράφους. Εφαρμογή των αλληλοεξαρτήσεων δεδομένων και των διεργασιών των συστημάτων ερευνητικού προγράμματος
Design and Implementation of DAG-based workflows. Application of the interdependencies according to the existing data and tasks for an H2020 project
Keywords
Data pipelines ; Workflow management systems ; Process scheduling ; Workflow orchestration platforms ; Data processingAbstract
Τα τελευταία χρόνια ο όγκος δεδομένων που διαχειρίζονται οι επιχειρήσεις και οργανισμοί
είναι τεράστιος. Συνήθως, τα δεδομένα αυτά προκύπτουν από διάφορες πηγές και σε διάφορες
μορφές και πρέπει να επεξεργαστούν προκειμένου να τροφοδοτήσουν μετέπειτα άλλα
συστήματα. Για να γίνει αυτό πρέπει να εκτελεστούν κάποιες διεργασίες, οι οποίες λαμβάνουν
αυτά τα δεδομένα, τα επεξεργάζονται και τα μεταφέρουν στον προορισμό τους. Το σύνολο
αυτών των διεργασιών χαρακτηρίζεται ως σωληναγωγός δεδομένων (Data Pipeline). Για τον
σχεδιασμό, την επίβλεψη και τον προγραμματισμό τέτοιων σωληναγωγών χρησιμοποιούνται
πλατφόρμες ενορχήστρωσης ροών εργασιών (Workflow Orchestration Platforms) ή αλλιώς
συστήματα διαχείρισης ροών εργασιών (Workflow Management Systems - WfMS).
Η εργασία αυτή ερευνά το πεδίο της μηχανικής δεδομένων που ασχολείται συγκεκριμένα με
την κατασκευή των σωληναγωγών και εξετάζει κάποιες από τις πιο δημοφιλείς ανοιχτού
κώδικα πλατφόρμες ενορχήστρωσης ροών εργασιών. Επιπλέον, επιλέγεται η κατάλληλη
πλατφόρμα ενορχήστρωσης ροών εργασιών για να χρησιμοποιηθεί στην ανάπτυξη του
εργαλείου Hyperion Community Engagement Tool, ενός εργαλείου που είναι μέρος του
Hyperion Project, το οποίο αφορά την προστασία των χώρων πολιτιστικής κληρονομιάς.
Τέλος, γίνεται ανάλυση απαιτήσεων, σχεδιασμός και υλοποίηση των διεργασιών που
αποτελούν τον σωληναγωγό δεδομένων και υλοποίηση αυτού με την επιλεγμένη πλατφόρμα
ενορχήστρωσης ροών εργασιών.
Abstract
In recent years the amount of data that companies and organizations are managing is enormous.
Usually, these data belong to numerous data sources and can have different formats. It is
important that these data will be processed and validated before feeding other systems. In order
to make this happen, the orchestration and execution of tasks is necessary. These tasks are
retrieving the data from all these sources, processing them and delivering them to the
appropriate destination. This set of processes assembles a data pipeline. For the implementation
and monitoring of data pipelines there are numerous open-source Workflow Orchestration
platforms available. This thesis reviews the field of Data Engineering regarding the
fundamentals of data pipelines, as well as, investigates some of the most famous Workflow
orchestration platforms. Additionally, the most suitable Workflow Orchestration Platform is
picked to implement a data pipeline for the Hyperion Community Engagement Tool. This tool
is part of Hyperion Project, a real-life project that helps to protect cultural heritage sites.
Finally, before the implementation of the data pipeline; the analysis and definition of
requirements for each task is taking place and then the procedure continues further with the
implementation of the data pipeline according to the most suitable workflow orchestration
platform.