Περίληψη : | Σκοπός της παρούσας διπλωματικής είναι η μελέτη και η σύγκριση σύγχρονων τεχνικών και εργαλείων ETL.ETL είναι τα αρχικά των λέξεων Extract, transform και load ή αλλιώς εξαγωγή, μετασχηματισμός, φόρτωση. Πιο αναλυτικά αναφέρεται στην εξαγωγή δεδομένων από κάποια πηγή, που μπορεί να είναι βάση δεδομένων, αρχεία πχ json, csv κλπ., τον μετασχηματισμό των δεδομένων, όπου εφαρμόζονται πάνω στα δεδομένα διάφορες συναρτήσεις και κανόνες ώστε να αποκτήσουν την επιθυμητή μορφή και τέλος η φόρτωση τους σε μια βάση δεδομένων.Για να αναλύσουμε τα εργαλεία που έχουμε επιλέξει θα πρέπει να ορίσουμε κάποιους άξονες ως προς τους οποίους θα γίνει αυτή η ανάλυση.Στα πλαίσια της διπλωματικής επιλέχτηκαν οι έξι παρακάτω άξονες• Ευχρηστία: πόσο εύκολο δηλαδή είναι στη χρήση το εργαλείο• Κλιμακωσιμότητα: αν μπορεί να διαχειριστεί δεδομένα σε πολύ μεγάλη κλίμακα και αν υποστηρίζει δυναμική κατανομή πόρων• Διαλειτουργικότητα: η συμβατότητα με άλλα συστήματα και εργαλεία• Υποστήριξη: η ύπαρξη ολοκληρωμένης τεκμηρίωσης και τεχνικής υποστήριξης από τον κατασκευαστή• Κόστος: το κόστος απόκτησης, λειτουργίας αλλά και επιπρόσθετα κόστη• Επεξεργασία σε δέσμες/πραγματικό χρόνοΣτο πειραματικό κομμάτι επιλέχθηκαν δυο από τα εννιά εργαλεία, το Apache Spark και Delta Lake, τα οποία χρησιμοποιήθηκαν για την υλοποίηση εφαρμογής με σκοπό την καλύτερη κατανόηση τους.Η εφαρμογή υλοποιήθηκε σε Java και περιέχει σενάρια χρήσης που χρησιμοποιούνται με σκοπό τη σύγκριση των εργαλείων από άποψη απόδοσης αλλά και για τον έλεγχο της ευκολίας υλοποίησης με το κάθε εργαλείο. Στα σενάρια περιλαμβάνονται:• Αρχική εισαγωγή δεδομένων• Ανανέωση δεδομένων• Εκτέλεση ερωτημάτων• Συνδυασμός των παραπάνω The purpose of this thesis is to study and compare modern ETL techniques and tools.ETL stands for extract, transform and load. In more detail it refers to the extraction of data from a source, which can be a database, files such as json, csv, etc. followed by the transformation of data, where a series of functions and rules are applied, preparing it for the next step, which is loading to a data warehouse.In order to analyze the chosen tools some dimensions according to which this analysis will be performed should be defined. For the current thesis, the following six dimensions were defined• Usability: how easy it is to use the tool• Scalability: whether it can manage data on a very large scale and whether it supports dynamic resource allocation• Interoperability: compatibility with other systems and tools• Support: comprehensive documentation and technical support from the manufacturer• Cost: the cost of acquisition, operation, and additional costs• Batch / real-time processingIn the experimental part, two of the nine tools, Apache Spark, and Delta Lake, were selected and used for implementation in order to better understand their functionality.The prototype application was created in Java and contains usage scenarios for the purpose of comparing the tools in terms of performance but also to check the ease with each tool. Scenarios include:• Initial data import• Data update• Query execution• Combination of the above
|
---|