Tool support and topological study of schema evolution in terms of foreign keys

Φόρτωση...
Μικρογραφία εικόνας

Ημερομηνία

Συγγραφείς

Δημολίκας, Κωνσταντίνος

Τίτλος Εφημερίδας

Περιοδικό ISSN

Τίτλος τόμου

Εκδότης

Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής

Περίληψη

Τύπος

Είδος δημοσίευσης σε συνέδριο

Είδος περιοδικού

Είδος εκπαιδευτικού υλικού

Όνομα συνεδρίου

Όνομα περιοδικού

Όνομα βιβλίου

Σειρά βιβλίου

Έκδοση βιβλίου

Συμπληρωματικός/δευτερεύων τίτλος

Περιγραφή

Studying the evolution of databases’ structure, known as schema evolution, is of great importance, since it can reveal patterns that will help administrators devote less time for increasing databases’ information capacity with the least possible effects on the surrounding applications and take all the necessary maintenance actions for preserving and enhancing databases’ performance. The main research question that we attempt to answer in this Thesis can be expressed in this way: is there a relationship between tables’ involvement with foreign keys and their evolution? For answering this question, we adopt a model that considers each version of a schema as a graph which includes schema’s tables and foreign key constraints as nodes and edges, respectively. The union of the graphs forms the Diachronic Graph, which comprises all the tables and all the foreign keys that ever exist in schema’s history. We also define four categories, namely isolated, source, lookup and internal, for the tables with respect to the combination of their in- and out- degrees in the Diachronic Graph. We refer to these categories with the term topological since they describe the arrangement of the tables in the Diachronic Graph with respect to their inciting foreign keys. We then classify tables into the topological categories and we study how tables’ topology is associated with several evolution-related properties, such as tables’ duration, their update activity, their size change, etc. The schema histories that we utilize in the context of our work derive from 5 relational databases supporting open-source projects. The most significant results of our research work, which are also verified by the statistical evidence, are: (a) a relationship between tables’ topological categories and their probability to be born in the originating version of their databases and (b) a correlation between tables’ topology and their update activity. Specifically, we have identified that the more topologically complex a table is the more intense is its life in terms of its update activity and the higher is the probability to be introduced in the very first version of its schema history. To facilitate the research part of the Thesis, we perform an extensive refactoring in the architecture of the Parmenidian Truth tool that visualizes the schema evolution of relational databases. After identifying and prioritizing design defects, we have applied a series of modifications in the source code of the tool, aiming at increasing tool’s extendibility potential. To verify that the changes we introduced have not altered tool’s expected behavior, we have created unit tests for all the modules we either modified or added. Finally, we have evaluated the enhancements of the refactoring process by comparing the design quality of the tool before and after the refactoring. Complementing the refactoring of the tool, we have also constructed a web application that visualizes the schema evolution of relational databases and summarizes the main corresponding statistics.
Η μελέτη της εξέλιξης της δομής των βάσεων δεδομένων, η οποία είναι γνωστή με τον όρο εξέλιξη σχήματος, είναι ιδιαίτερα σημαντική καθώς μπορεί να αποκαλύψει μοτίβα που θα βοηθήσουν τους διαχειριστές των βάσεων να αφιερώνουν λιγότερο χρόνο στην αύξηση της χωρητικότητας των παρεχόμενων πληροφοριών με τις λιγότερες πιθανές συνέπειες για τις εξαρτημένες εφαρμογές και να υλοποιούν όλες τις απαραίτητες εργασίες συντήρησης για να διατηρείται και να βελτιώνεται η απόδοση της βάσης. Το βασικό, ερευνητικής φύσεως, ερώτημα που επιδιώκουμε να απαντήσουμε στην παρούσα εργασία μπορεί να διατυπωθεί ως εξής: Υπάρχει κάποια σχέση μεταξύ της συσχέτισης των πινάκων με τα ξένα κλειδιά μιας βάσης δεδομένων και της εξέλιξης τους; Για να απαντήσουμε στο συγκεκριμένο ερώτημα, χρησιμοποιούμε ένα μοντέλο που αναπαριστά κάθε έκδοση του σχήματος σαν έναν γράφο του οποίου οι κόμβοι και οι ακμές αντιστοιχούν στους πίνακες και τα ξένα κλειδιά του σχήματος, αντίστοιχα. Η ένωση αυτών των γράφων αντιστοιχεί στον Διαχρονικό Γράφο, ο οποίος αποτελείται από όλους τους πίνακες και όλα τα ξένα κλειδιά που εμφανίστηκαν σε τουλάχιστον μία έκδοση της ιστορίας του σχήματος. Επίσης, ορίζουμε 4 κατηγορίες για τους πίνακες, συγκεκριμένα τις isolated, source, lookup και internal με βάση τον συνδυασμό των έσω- και έξω- βαθμών τους στον Διαχρονικό Γράφο. Χαρακτηρίζουμε τις κατηγορίες αυτές με τον όρο τοπολογικές, καθώς περιγράφουν τη θέση των πινάκων στον Διαχρονικό Γράφο σε σχέση με τα ξένα κλειδιά τους. Στη συνέχεια, ταξινομούμε τους πίνακες στις τοπολογικές κατηγορίες και μελετάμε πώς η τοπολογία των πινάκων σχετίζεται με διάφορα χαρακτηριστικά της εξέλιξης τους, όπως η διάρκεια ζωής τους, η δραστηριότητα τους, η αλλαγή του μεγέθους τους, κ.α. Τα σχήματα που χρησιμοποιούμε στα πλαίσια της έρευνας μας προέρχονται από 5 σχεσιακές βάσεις δεδομένων που υποστηρίζουν συστήματα λογισμικού ανοιχτού κώδικα. Τα σημαντικότερα αποτελέσματα της έρευνας μας, τα οποία επιβεβαιώνονται και από τα στατιστικά στοιχεία, είναι: (α) η σχέση μεταξύ των τοπολογικών κατηγοριών των πινάκων και της πιθανότητας εμφάνισης τους στην πρώτη έκδοση του σχήματος της βάσης τους και (β) η συσχέτιση της τοπολογίας των πινάκων με τη δραστηριότητα τους. Συγκεκριμένα, διαπιστώσαμε ότι όσο πιο σύνθετος τοπολογικά είναι ένας πίνακας τόσο πιο έντονη δραστηριότητα έχει και τόσο μεγαλύτερη είναι η πιθανότητα εμφάνισης του στην πρώτη έκδοση του σχήματος του. Για να διευκολύνουμε την έρευνα μας, υλοποιήσαμε μία εκτεταμένη αναμόρφωση της αρχιτεκτονικής του λογισμικού Παρμενίδεια Αλήθεια, το οποίο οπτικοποιεί την εξέλιξη του σχήματος σχεσιακών βάσεων δεδομένων. Έχοντας εντοπίσει και προτεραιοποιήσει τα σχεδιαστικά ελαττώματα, εφαρμόσαμε μια σειρά από τροποποιήσεις στον πηγαίο κώδικα του εργαλείου με στόχο να αυξήσουμε τις δυνατότητες επέκτασης των λειτουργιών που προσφέρει το λογισμικό αυτό. Για να επιβεβαιώσουμε ότι οι αλλαγές που υλοποιήσαμε δεν έχουν επηρεάσει την αναμενόμενη συμπεριφορά του λογισμικού, δημιουργήσαμε ελέγχους μοναδιαίων ενοτήτων για κάθε ενότητα που είτε τροποποιήσαμε είτε προσθέσαμε. Τέλος, αξιολογούμε τις βελτιώσεις που επέφερε η διαδικασία αναμόρφωσης, συγκρίνοντας την ποιότητα της σχεδίασης του εργαλείου πριν και μετά την αναμόρφωση. Συμπληρωματικά της αναμόρφωσης του λογισμικού, δημιουργήσαμε μία διαδικτυακή εφαρμογή που οπτικοποιεί την εξέλιξη του σχήματος σχεσιακών βάσεων δεδομένων και συνοψίζει τις βασικότερες πληροφορίες για την εξέλιξη των βάσεων.

Περιγραφή

Λέξεις-κλειδιά

Schema evolution, Foreign keys, Refactoring, Web application, Εξέλιξη σχήματος, Ξένα κλειδιά, Αναμόρφωση, Διαδικτυακή εφαρμογή

Θεματική κατηγορία

Software refactoring

Παραπομπή

Σύνδεσμος

Γλώσσα

el

Εκδίδον τμήμα/τομέας

Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής

Όνομα επιβλέποντος

Βασιλειάδης, Παναγιώτης

Εξεταστική επιτροπή

Βασιλειάδης, Παναγιώτης
Πιτουρά, Ευαγγελία
Ζαρράς, Απόστολος

Γενική Περιγραφή / Σχόλια

Ίδρυμα και Σχολή/Τμήμα του υποβάλλοντος

Πανεπιστήμιο Ιωαννίνων. Πολυτεχνική Σχολή. Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής

Πίνακας περιεχομένων

Χορηγός

Βιβλιογραφική αναφορά

Βιβλιογραφία: σ. 137-139

Ονόματα συντελεστών

Αριθμός σελίδων

140 σ.

Λεπτομέρειες μαθήματος

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced