Query optimization with deep learning architectures
Master Thesis
Συγγραφέας
Goulas, Theodoros
Ημερομηνία
2022-06Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Query optimization ; Deep learning ; Natural language processing ; Distributed databasesΠερίληψη
Η αυξανόμενη τάση μετάβασης από τα παραδοσιακά συγκεντρωμένα συστήματα βάσεων δεδομένων, σε αρχιτεκτονικές που δομούνται από κατανεμημένες μονάδες, αύξησε σημαντικά την πολυπλοκότητα του προβλήματος βελτιστοποίησης ερωτημάτων στις βάσεις δεδομένων, οδηγώντας σε περίπλοκους αλγορίθμους βελτιστοποίησης που βασίζονται σε αναλυτικές και στοχαστικές μεθόδους και αυξάνουν σημαντικά τις απαιτήσεις σε χρόνο και πόρους.
Η παρούσα μελέτη προτείνει την χρήση τεχνικών επεξεργασίας φυσικής γλώσσας σε συνδυασμό με αρχιτεκτονικές Νευρωνικών Δικτύων ως στατιστική εναλλακτική λύση στην υφισταμένη αναλυτική προσέγγιση βελτιστοποίησης ερωτημάτων για την αντιμετώπιση αυτού του προβλήματος.
Στα πλαίσια της παρούσας εργασίας, με βάση την παραδοχή ότι τα ερωτήματα σε μια βάση δεδομένων αλλά και το βέλτιστο πλάνο εκτέλεσης, αποτέλεσμα του optimizer της βάσης, πρόκειται για λεκτικές ακολουθίες, εξετάστηκε κατά πόσο μια αρχιτεκτονική sequence-to-sequence βαθύ νευρωνικού δικτύου (Neural Machine Translation) μπορεί να προβλέψει ή να προσεγγίσει επαρκώς το βέλτιστο πλάνο εκτέλεσης, δοθέντος ενός ερωτήματος σε μία υπάρχουσα βάση δεδομένων.
Για την εκτέλεση των πειραμάτων χρησιμοποιήθηκε το σετ δεδομένων CoSQL, το οποίο φορτώθηκε σε μία PostgreSQL βάση. Με τη χρήση της εντολής EXPLAIN για κάθε ερώτημα πάνω στη βάση, παρήχθει το αντίστοιχο βέλτιστο πλάνο εκτέλεσης από τον optimizer της βάσης. Η λεκτική ακολουθία του ερωτήματος τροφοδοτήθηκε σαν είσοδο στο νευρωνικό δικτύο και το πλάνο εκτέλεσης χρησιμοποιήθηκε σαν επιθυμητή έξοδος για την εκπαίδευση του μοντέλου.
Τα πειράματα που διεξήχθησαν έδειξαν ότι η πολυπλοκότητα και η δομή των ακολουθιών εισόδου και εξόδου υπερβαίνουν τις δυνατότητες μάθησης του προτεινόμενου βαθύ νευρωνικού δικτύου, παράγοντας αναποτελεσματικά ή ακόμη και μη εκπαιδεύσιμα μοντέλα. Ωστόσο, η συγκεκριμένη αρχιτεκτονική έδειξε υποσχόμενα αποτελέσματα όσον αφορά την εξαγωγή πολύτιμων πληροφοριών που οι συνήθεις optimizers μπορούν να χρησιμοποιήσουν ως υποδείξεις για να καταλήξουν σε ταχύτερες και ακριβέστερες αποφάσεις κατά τη διαδικασία βελτιστοποίησης όσον αφορά την εφαρμογή και τη σειρά εκτέλεσης των τελεστών.