dc.contributor.author |
Δαγκλής, Αθανάσιος
|
el |
dc.contributor.author |
Daglis, Athanasios
|
en |
dc.date.accessioned |
2020-04-26T17:27:11Z |
|
dc.date.available |
2020-04-26T17:27:11Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/50247 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.17945 |
|
dc.rights |
Default License |
|
dc.subject |
Ροές δεδομένων |
el |
dc.subject |
Προσαρμοστική Βελτιστοποίηση |
el |
dc.subject |
Βελτιστοποίηση Κόστους |
el |
dc.subject |
Κατανεμημένα Συστήματα |
el |
dc.subject |
Streaming |
en |
dc.subject |
Cost based optimizations |
el |
dc.subject |
Adaptive Planning |
el |
dc.subject |
Distributed Systems |
el |
dc.title |
Προσαρμοστική Βελτιστοποίηση Εκτέλεσης Ερωτημάτων σε Κατανεμημένα Συστήματα Ροών Δεδομένων |
el |
dc.title |
Adaptive Optimizations of Query Execution in Distributed Streaming Systems |
en |
heal.type |
bachelorThesis |
|
heal.classification |
ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ |
el |
heal.classificationURI |
http://data.seab.gr/concepts/ff91f6a12c5b5d9b3000e730864aa8f2141aa975 |
|
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2017-09-12 |
|
heal.abstract |
Τα τελευταία χρόνια έχει παρατηρηθεί στροφή προς συστήματα επεξεργασίας δεδομένων ροών, τόσο για ανάλυση μη πεπερασμένων όσο και πεπερασμένων δεδομένων. Η ανάγκη για απαντήσεις σε πραγματικό χρόνο, οι διαρκώς αυξανόμενες πηγές ροών δεδομένων και η ραγδαία αύξηση του μεγέθους των δεδομένων προς επεξεργασία καθιστά την αποδοτική εκτέλεση ερωτημάτων αναγκαία.
Στην παρούσα διπλωματική εργασία, ασχολούμαστε με την βελτιστοποίηση πλάνου εκτέλεσης ερωτημάτων που πραγματοποιούν συνένωση ροών δεδομένων με εξωτερικό σύνολο δεδομένων. Συγκεκριμένα, μελετάμε ερωτήματα με δύο ροές δεδομένων και πολλαπλές ενώσεις με εξωτερικούς πίνακες.
Για να επιτύχουμε προσαρμοστική βελτιστοποίηση πλάνου εκτέλεσης ερωτημάτων, εκτελούμε τα ερωτήματα σε πραγματικό χρόνο χρησιμοποιώντας το Spark Streaming framework. Το σύστημα χρησιμοποιεί τις κατανεμημένες τεχνολογίες Kafka, Spark, HDFS και εξασφαλίζει έτσι την κλιμακωσιμότητα του και την ανοχή σε σφάλματα.
Προκειμένου να επιτευχθεί εφαρμογή μεθόδων βελτιστοποίησης πλάνου εκτέλεσης ερωτημάτων σε πλάνο ροής δεδομένων, εξάγουμε στατιστικά από τις ροές δεδομένων, και τα εγχύουμε στο Spark Streaming. Με αυτό τον τρόπο εφαρμόζεται αποτελεσματικά αναδιάταξη της σειράς των συνενώσεων του πλάνου με βάση πρόβλεψη κόστους και επιλέγονται κατάλληλοι αλγόριθμοι συνένωσης με βάση τα προβλεπόμενα μεγέθη των ενδιάμεσων αποτελεσμάτων.
Επίσης, μελετάμε το είδος και την ακρίβεια των στατιστικών που χρειάζεται να εξάγουμε από τις ροές δεδομένων προκειμένου να έχουμε ικανοποιητική βελτίωση στο χρόνο εκτέλεσης ερωτημάτων.
Εφαρμόζοντας προσαρμοστική βελτιστοποίηση πλάνου εκτέλεσης των ερωτημάτων στις ροές δεδομένων, επιτυγχάνουμε καλύτερους χρόνους εκτέλεσης, με επιτάχυνση έως και 5.5, και κατ επέκτασιν μπορούμε δυναμικά να αποδεσμεύουμε υπολογιστικούς πόρους ώστε αυτοί να αξιοποιούνται από άλλες διεργασίες. |
el |
heal.abstract |
In recent years, we have increased use of streaming engines both for unbound and bound data. The need for real-time results, the ever increasing unbound data sources and the rapid increase in data sizes make the efficient query execution a necessity.
In this diploma thesis, we are studying the query execution optimization of SQL queries that join streams of data and external datasets. Specifically, we study queries of two streams of data including multiple joins between them and external tables.
To achieve adaptive optimization of query execution, we perform the plans in real time using Spark Streaming framework. The designed system uses distributed technologies such as Kafka, Spark and HDFS, ensuring its scalability and fault tolerance.
In order for the query optimizations of Spark’s Query Optimizer, Catalyst, to work, we extract statistics from the streams of data and inject them to Spark Streaming. By doing so, a cost based join reorder optimization is applied to the plan and for each join, the optimizer selects the fitting join algorithm depending on the estimated intermediate result sizes.
Furthermore, we study the kind of required statistics we need to extract from the data streams, as well as their accuracy, in order to achieve satisfactory levels of improvement.
By applying adaptive optimizations of query executions in streaming queries, we are able to complete the queries faster, with a speedup up to 5.5, and dynamically reallocate unused resources to other streaming applications. |
en |
heal.advisorName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Υπολογιστικών Συστημάτων |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
75 σ. |
el |
heal.fullTextAvailability |
true |
|