Συντάχθηκε 09-09-2026 13:45
Ενημερώθηκε:
09-09-2026 13:46
Τόπος:
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 14/09/2026 13:00
Λήξη: 14/09/2026 14:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Δημητρίου Μελιόπουλου
με θέμα
Μία Μηχανή Παραγωγής Συνόψεων πάνω στη Μηχανή Structured Streaming του Spark
A Synopses Data Engine over Spark's Structured Streaming Engine
Εξεταστική Επιτροπή
Καθηγητής Αντώνιος Δεληγιαννάκης (επιβλέπων)
Καθηγητής Μίνως Γαροφαλάκης
Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς
Περίληψη
Η παρούσα εργασία παρουσιάζει έναν κατανεμημένο μηχανισμό δεδομένων (SDE) που βασίζεται στον μηχανισμό Structured Streaming του Apache Spark και έχει σχεδιαστεί για να υποστηρίζει την απάντηση σε προσεγγιστικές ερωτήσεις με χαμηλό χρόνο καθυστέρησης σε ροές δεδομένων υψηλής ταχύτητας σε μεγάλη κλίμακα, μέσω της συνεχούς συντήρησης πιθανοτικών δομών δεδομένων σε topics του Kafka. Το σύστημα παρέχει δυνατότητες «synopsis-as-a-service», υποστηρίζοντας την ταυτόχρονη διαχείριση πολλαπλών τύπων συνόψεων σε διαμερισμένες ροές δεδομένων, διαμορφώσιμο οριζόντιο παραλληλισμό, λειτουργία ανθεκτική σε σφάλματα μέσω περιοδικών σημείων ελέγχου κατάστασης, καθώς και μια ανοιχτή αρχιτεκτονική συνόψεων που επιτρέπει την ενσωμάτωση νέων τύπων αλγορίθμων χωρίς τροποποίηση των τελεστών του pipeline. Η πειραματική αξιολόγηση στο ακαδημαϊκό cluster SoftNet HDP 3.1.0 διαπιστώνει: (i) σχεδόν γραμμική οριζόντια κλιμάκωση της απόδοσης ανάλογα με τον βαθμό παραλληλισμού, που φτάνει σε απόδοση 81,6% σε ένα εύρος 5× workers, (ii) η απόδοση δεν επηρεάζεται από τον όγκο του συνόλου δεδομένων και τον αριθμό των ροών, επιβεβαιώνοντας την ιδιότητα δρομολόγησης σταθερού χρόνου του δρομολογητή χωρίς state και (iii) ακρίβεια εκτίμησης εντός των θεωρητικών ορίων σφάλματος και για τους τέσσερις υποστηριζόμενους αλγόριθμους σύνοψης — CountMin Sketch, HyperLogLog, Bloom Filter και AMS Sketch.
Abstract
This thesis introduces a distributed Synopsis Data Engine (SDE) built on Apache Spark's Structured Streaming engine, designed to sustain low-latency approximate query answering over high-velocity data streams at scale through the continuous maintenance of probabilistic data structures over Kafka topics. The system delivers synopsis-as-a-service capabilities, supporting concurrent management of multiple synopsis types across partitioned data streams, configurable horizontal parallelism, fault-tolerant operation through periodic state checkpointing, and an open synopsis architecture that allows new algorithm types to be integrated without modifying the pipeline operators. Experimental evaluation on the SoftNet HDP 3.1.0 academic cluster establishes: (i) near-linear horizontal throughput scaling with parallelism degree, reaching 81.6% efficiency across a 5× worker range; (ii) throughput insensitivity to dataset volume and stream cardinality, confirming the constant-time routing property of the stateless router; and (iii) estimation accuracy within theoretical error bounds for all four supported synopsis algorithms — CountMin Sketch, HyperLogLog, Bloom Filter, and AMS Sketch.