A study on the query response time minimization in distributed (spatiotemporal) data stores
Authors: Μακρής Αντώνιος 
Published: July 2022

Τα κέντρα δεδομένων, αποτελούν ένα κύριο συστατικό στα επιχειρησιακά συστήματα, καθώς οι διαδικτυακές υπηρεσίες και το υπολογιστικό νέφος συνεχίζουν να αναπτύσσονται ραγδαία. Ως εκ τούτου, οι αυξανόμενες απαιτήσεις των χρηστών οδηγούν στα όρια τις δυνατότητες των επιχειρησιακών συστημάτων, που καλούνται να αντιμετωπίσουν ένα τεράστιο αριθμό ερωτημάτων αλλά και σκληρούς χρονικούς περιορισμούς, όσον αφορά την απόκριση του συστήματος. Για να αντιμετωπιστούν αυτές οι ολοένα αυξανόμενες απαιτήσεις των εφαρμογών, το data management layer πρέπει να αποσυνδεθεί από τις πολλές και βαριές εντολές εισόδου-εξόδου από τον δίσκο και να εισάγει ένα γρηγορότερο στρώμα ενδιάμεσα. Η προσέγγιση αυτή μπορεί να υλοποιηθεί με μηχανισμούς αποθήκευσης στη μνήμη (in-memory storage mechanisms), που διατηρούν τα δεδομένα στη μνήμη με τη μορφή ζευγών κλειδιού-τιμής και έχουν τη δυνατότητα να αποκρίνονται στα ερωτήματα των πελατών σε πραγματικό χρόνο ακόμη και κάτω από τεράστια υπολογιστικά φορτία. Ωστόσο τα in-memory KVS (IMKVS), όπως και κάθε κατανεμημένο σύστημα πάσχουν από το πρόβλημα της άνισης κατανομής του φόρτου μεταξύ των κόμβων του συστήματος. Η υψηλή ετερογένεια σε συνδυασμό με την κατανομή των αντικειμένων μέσω τυχαίων αναγνωριστικών, και το γεγονός ότι αυτά τα συστήματα δεν λαμβάνουν υπόψη τους άνισους φόρτους ερωτημάτων αλλά δίνουν περισσότερη βάση στον αριθμό των αντικειμένων που βρίσκονται σε κάθε κόμβο του συστήματος, οδηγεί σε ανισορροπίες (άνιση κατανομή του φόρτου). Ως εκ τούτου, οι υπερφορτωμένοι κόμβοι γίνονται hotspots και αυτό έχει επιζήμια αποτελέσματα όσον αφορά τις επιδόσεις του συστήματος από την άποψη του χρόνου απόκρισης.Στα πλαίσια του διδακτορικού μου έργου, ο βασικός στόχος ήταν η βελτίωση της απόδοσης των κατανεμημένων συστημάτων αποθήκευσης όσον αφορά τους χρόνους απόκρισης εκτέλεσης ερωτημάτων, διερευνώντας το πρόβλημα από τρείς διαφορετικές οπτικές: αξιολόγηση απόδοσης χωροχρονικών συστημάτων αποθήκευσης δεδομένων, αποτελεσματική εξισορρόπηση φορτίου σε πραγματικό χρόνο και συμπίεση δεδομένων.Αρχικά, ξεκινήσαμε να διερευνούμε την απόδοση των κατανεμημένων συστημάτων αποθήκευσης. Έτσι, διερευνήσαμε τον τομέα που αφορά τη διαχείριση και ανάλυση χωροχρονικών δεδομένων, ο οποίος αποτελεί μια αναπτυσσόμενη περιοχή έρευνας που υποστηρίζει πολλαπλούς τομείς εφαρμογών. Μέρος της διδακτορικής μου διατριβής αποτέλεσε ο προσδιορισμός του πιο αποτελεσματικού συστήματος αποθήκευσης δεδομένων υπό την έννοια του χρόνου απόκρισης, συγκρίνοντας δυο συστήματα που ανήκουν στις δυο πιο αντιπροσωπευτικές κατηγορίες (NoSQL και σχεσιακές βάσεις δεδομένων). Συγκεκριμένα, τα συστήματα MongoDB και PostgreSQL εξετάστηκαν σε μια συγκεκριμένη κατηγορία απαιτήσεων, αυτές δηλαδή για τις οποίες ο χρόνος απόκρισης που αφορά σύνθετα χωροχρονικά ερωτήματα είναι υψηλής σημασίας. Η αξιολόγηση των συστημάτων βασίστηκε σε πραγματικά επιχειρηματικά σενάρια.Η απόδοση των κατανεμημένων συτημάτων αποθήκευσης μπορεί να βελτιωθεί σημαντικά με μια πιο αποτελεσματική τοποθέτηση των αντικειμένων στους κομβους του συστήματος. Έτσι, όσον αφορά τη δυναμική εξισορρόπηση φόρτου,στοχεύσαμε στην αναγνώριση και πιστοποίηση των παραγόντων που συμβάλλουν στο πρόβλημα της εξισορρόπησης του φόρτου και στη συνέχεια δημιουργήσαμε ένα νέο πρωτόκολλο τοποθέτησης αντικειμένων για κατανεμημένα συστήματα αποθήκευσης το οποίο μετακινεί αντικείμενα μεταξύ των κόμβων του συστήματος, σε πραγματικό χρόνο εκτέλεσης, με στόχο να ελαχιστοποιηθεί ο αρκετά υψηλός χρόνος απόκρισης (με βάση ένα κατώτατο όριο που προσδιορίστηκε εμπειρικά). Το πρωτόκολλο τοποθέτησης αποτελεί μια υβριδική λύση που συνδυάζει την τυχαία τοποθέτηση και έναν αποκεντρωμένο κατάλογο εξαιρέσεων. Τέλος, προσεγγίσαμε το πρόβλημα της τοποθέτησης δεδομένων από τη σκοπιά της συμπίεσης. Ως μέρος της παρούσας διδακτορικής διατριβής, προτείναμε αλγορίθμους συμπίεσης που μπορούν να μειώσουν το μέγεθος των δεδομένων, ελαχιστοποιώντας την απώλεια πληροφοριών, διατηρώντας ταυτόχρονα την ποιότητα των πληροφοριών. Με άλλα λόγια, διερευνήσαμε τη συμπίεση ως μέσο για τη βελτίωση της απόδοσης του συστήματος.Τα αποτελέσματα έδειξαν ότι το πρωτόκολλο τοποθέτησης αντικειμένων που προτείναμε και δημιουργήσαμε, επιτυγχάνει την εξισορρόπηση του φόρτου σε ένα κατανεμημένο σύστημα, συγκεκριμένα σε ενα Redis Cluster, και ο μέσος χρόνος απόκρισης γίνεται ομοιόμορφος στους κόμβους του συστήματος, οδηγώντας έτσι στην βελτίωση της απόδοσης. Επιπλέον, η συμπίεση δεδομένων που παρουσιάζεται ως εναλλακτική λύση στο πρόβλημα της εξισορρόπησης του φόρτου, κατάφερε να μειώσει το μέγεθος των δεδομένων μέσω των προτεινόμενων αλγορίθμων, ελαχιστοποιώντας την απώλεια και ταυτόχρονα διατηρώντας την ποιότητα των πληροφοριών. Η σχέση και η επίδραση της συμπίεσης διερευνήθηκαν πειραματικά χρησιμοποιώντας τεχνικές ταξινόμησης και μέτρησης ομοιότητας. Τέλος, σχετικά με τον προσδιορισμό του πιο αποτελεσματικού συστήματος αποθήκευσης χωροχρονικών δεδομένων, τα αποτελέσματα έδειξαν πως η PostgreSQL παρουσιάσε τα καλυτερα αποτελέσματα σε όλες σχεδόν τις περιπτώσεις σε σύγκριση με τη MongoDB, με εξαίρεση τα ερωτήματα διασταύρωσης πολυγώνου.