Institutional Repository [SANDBOX]
Technical University of Crete
EN  |  EL

Search

Browse

My Space

Cross-platform query optimization on Apache Beam

Stamatakis Georgios

Simple record


URIhttp://purl.tuc.gr/dl/dias/35A1A964-5FD6-4BCD-8B32-A65ACD15D5FD-
Identifierhttps://doi.org/10.26233/heallink.tuc.81197-
Languageen-
Extent41 pagesel
TitleCross-platform query optimization on Apache Beamen
TitleΒελτιστοποίηση ερωτημάτων σε πολλαπλές πλατφόρμες στο Apache Beamel
CreatorStamatakis Georgiosen
CreatorΣταματακης Γεωργιοςel
Contributor [Thesis Supervisor]Deligiannakis Antoniosen
Contributor [Thesis Supervisor]Δεληγιαννακης Αντωνιοςel
Contributor [Committee Member]Garofalakis Minosen
Contributor [Committee Member]Γαροφαλακης Μινωςel
Contributor [Committee Member]Samoladas Vasilisen
Contributor [Committee Member]Σαμολαδας Βασιληςel
PublisherΔιπλωματική Εργασίαel
PublisherDiploma Worken
Academic UnitTechnical University of Crete::School of Electrical and Computer Engineeringen
Academic UnitΠολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
DescriptionΔιπλωματική εργασία που υποβλήθηκε στη σχολή ΗΜΜΥ του Πολ. Κρήτης για την πλήρωση προϋποθέσεων λήψης του Διπλώματος.el
Content Summary We live in an era where the rapid growth of data streams both in complexity and velocity introduce new challenges on a daily basis. These streams can be infinite, emit data at high-speeds and can be generated by non-stationary distributions, thus a modern approach is required when performing complex queries over such data. Since modern Big Data stream processing frameworks are evolving rapidly high-level languages and abstractions are necessary in order to provide support for increasingly complex queries. Query processing however, requires a high-level language be translated into a set of low-level data manipulation operations and on top of that producing an optimal plan for the given query can be extremely difficult as it requires minimizing costs based on available statistics. The objective of query optimization is to maximize (or minimize) metrics like throughput and latency which are vital to the performance of a stream processing system but in order to do so effectively a framework needs to track a wide variety of performance metrics of components inside and outside its cluster. Such metrics can include the health and utilization of the stream pipeline operators, network speed and performance, hardware statistics of each cluster node and finally information about incoming data streams like skew, throughput and tuple size. In this thesis we propose a high-level real-time query optimization platform that gathers various statistics from modern stream processing frameworks and based on the requested queries each one is assigned on the most suitable framework according to various strategies. Such strategies aim to combine the metrics and statistics collected by our platform, both past and present, in order to correctly match queries to available frameworks. Our proposed platform consists of three main modules, the first of which is responsible for gathering available metrics from resource managers and available frameworks. The second module consists of a data ingestion Kafka Streams application that allow us to perform distributed sampling over incoming data streams and provide us with information related to incoming data streams, like skew and throughput. Finally, based on the available metrics each query is assigned to a framework running a pipeline designed in Apache Beam, a framework allowing us to write high-level code that can be executed in a variety of Big Data frameworks with ease. Experimental results prove that the gathered statistics improve query assignments as well as overall performance metrics like throughput and latency. Furthermore, increasing the parallelism level of frameworks yields better results as higher rates of data can be ingested by the stream processing frameworks. Finally, experimental evaluation shows that different strategies may work better under certain conditions.en
Content SummaryΖούμε σε μια εποχή όπου η ταχεία αύξηση των ροών δεδομένων τόσο σε πολυπλοκότητα όσο και σε ταχύτητα εισάγει νέες προκλήσεις σε καθημερινή βάση. Τέτοιες ροές είναι συχνά άπειρε, εκπέμπουν δεδομένα σε υψηλές ταχύτητες και μπορούν να δημιουργηθούν από μη στατικές κατανομές με αποτέλεσμα να απαιτείται μια σύγχρονη προσέγγιση όταν σε αυτά τα δεδομένα εκτελούνται πολύπλοκα ερωτήματα. Δεδομένου ότι οι σύγχρονες πλατφόρμες επεξεργασίας ροών Μεγάλων Δεδομένων εξελίσσονται ταχύτατα απαιτούνται προγραμματιστικές γλώσσες υψηλού επιπέδου για την παροχή υποστήριξης όλο και πιο περίπλοκων ερωτημάτων. Ωστόσο, η επεξεργασία των ερωτημάτων απαιτεί τη μετάφραση μιας γλώσσας υψηλού επιπέδου σε ένα σύνολο εντολών επεξεργασίας δεδομένων χαμηλότερου επιπέδου και επιπλέον η παραγωγή ενός βέλτιστου σχεδίου εκτέλεσης για το κάθε ερώτημα μπορεί να είναι εξαιρετικά δύσκολη καθώς απαιτεί την ελαχιστοποίηση του κόστους με βάση τα διαθέσιμα στατιστικά στοιχεία. Ο στόχος της βελτιστοποίησης ερωτημάτων είναι να μεγιστοποιηθούν (ή να ελαχιστοποιηθούν) συγκεκριμένα μέτρα απόδοσης όπως η ρυθμαπόδοση και ο χρόνος απόκρισης που είναι ζωτικής σημασίας για την απόδοση ενός συστήματος επεξεργασίας ροών, αλλά για να γίνει αυτό αποτελεσματικά χρειάζεται να παρακολουθείται ένας αριθμός στατιστικών στοιχείων και μέτρων απόδοσης. Τέτοια στατιστικά συνήθως περιλαμβάνουν την υγεία και τη χρήση των τελεστών μιας τοπολογίας, την ταχύτητα και την απόδοση του δικτύου, τα στατιστικά στοιχεία υλικού κάθε κόμβου και τελεστή καθώς και πληροφορίες σχετικά με τις εισερχόμενες ροές δεδομένων. Σε αυτή τη Διπλωματική εργασία προτείνουμε μια πλατφόρμα βελτιστοποίησης ερωτημάτων πραγματικού χρόνου που συγκεντρώνει διάφορα στατιστικά στοιχεία από διάφορες σύγχρονες πλατφόρμες επεξεργασίας ροών δεδομένων και με βάση τα ζητούμενα ερωτήματα κάθε ένα από αυτά ανατίθεται στη κατάλληλη πλατφόρμα με βάση κάποια στρατηγική. Τέτοιες στρατηγικές στοχεύουν στο συνδυασμό των μετρήσεων και των στατιστικών στοιχείων που συλλέγονται από την πλατφόρμα μας, τόσο στο παρελθόν όσο και στο παρόν, προκειμένου να αντιστοιχούν σωστά τα ερωτήματα στα διαθέσιμα πλαίσια. Η προτεινόμενη πλατφόρμα περιλαμβάνει τρεις βασικές ενότητες, η πρώτη από τις οποίες είναι υπεύθυνη για τη συγκέντρωση διαθέσιμων μετρήσεων από τους διαχειριστές πόρων και τις διαθέσιμες πλατφόρμες. Η δεύτερη ενότητα αποτελείται από μια εφαρμογή χώνεψης δεδομένων στη πλατφόρμα Kafka Streams που μας επιτρέπει να εκτελούμε κατανεμημένη δειγματοληψία σε εισερχόμενες ροές δεδομένων με σκοπό τη συλλογή στατιστικών σχετικά με τα δεδομένα που εισέρχονται όπως η ρυθμαπόδοση και ο χρόνος απόκρισης. Τέλος, με βάση τις διαθέσιμες μετρήσεις, κάθε ερώτημα ανατίθεται σε μία πλατφόρμα που εκτελεί μια τοπολογία σχεδιασμένη στο Apache Beam, μια πλατφόρμα που μας επιτρέπει να γράφουμε κώδικα υψηλού επιπέδου που μπορεί να εκτελεστεί στη συνέχεια με ευκολία σε διάφορες πλατφόρμες επεξεργασίας δεδομένων. Τα πειραματικά αποτελέσματα αποδεικνύουν ότι τα στατιστικά στοιχεία βελτιώνουν την αντιστοίχιση ερωτημάτων σε πλατφόρμες καθώς και τα συνολικά μέτρα απόδοσης. Επίσης, η αύξηση του επιπέδου παραλληλισμού στις πλατφόρμες αποδίδει καλύτερα αποτελέσματα λόγω του υψηλότερου ρυθμού απορρόφησης. Τέλος, η πειραματική αξιολόγηση δείχνει ότι διάφορες στρατηγικές μπορούν να λειτουργήσουν με πιο αποτελεσματικό τρόπο κάτω από προϋποθέσεις. el
Type of ItemΔιπλωματική Εργασίαel
Type of ItemDiploma Worken
Licensehttp://creativecommons.org/licenses/by/4.0/en
Date of Item2019-02-27-
Date of Publication2019-
SubjectLocality sensitive hashingen
SubjectStreamsen
SubjectKafkaen
SubjectStreamingen
SubjectSparken
Bibliographic CitationGeorgios Stamatakis, "Cross-platform query optimization on Apache Beam", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2019en
Bibliographic CitationΓεώργιος Σταματάκης, "Βελτιστοποίηση ερωτημάτων σε πολλαπλές πλατφόρμες στο Apache Beam", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2019el

Available Files

Services

Statistics