Derivation of state diagrams for database schema evolution

Loading...
Thumbnail Image

Date

Authors

Trialoni, Christina
Τριαλώνη, Χριστίνα

Journal Title

Journal ISSN

Volume Title

Publisher

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

Abstract

Type of the conference item

Journal type

Educational material type

Conference Name

Journal name

Book name

Book series

Book edition

Alternative title / Subtitle

Description

Schema evolution is the process of altering the structure of a database, also known as “schema”, via the insertion, deletion or update of schema constructs, such as tables, attributes and constraints, in the process of developing, or maintaining the structure of the data, in order to service the surrounding applications that -- as all software modules do -- evolve too. The goal of this thesis is to extract the various phases that a schema of a project enters during its lifecycle, and create "signatures" of frequently encountered sequences of phases in the lives of relational database schemata. Using a publicly available corpus of schema evolution histories from Free OpenSource Projects, we organize the history of corpus' projects in monthly quanta as time units and assess change via a cumulative metric of monthly change. Starting with each time-unit as a different phase, the PhaseSeries of schema evolution for a project is then, a sequence of unit-phases, linked via transitions marking the amount of change (measured as the sum of inserted, deleted and updated attributes) that occurred between two units. A transition is the bridge that connects two phases and it is also labelled with respect to the amount of change between the two neighboring phases. Then, we merge subsequent unit-phases into larger phases depending on a similarity criterion that takes into consideration transition labels, and mark the re sulting phases accordingly. We introduce different algorithms for merging phases, by altering the similarity criterion with the goal of finding the sweet spot between having too many transitions (contributing a high level of accuracy) and conciseness (as having fewer transitions improves readability of the description of a project's life, at the price of reducing accuracy). We refer to the description of the life of a schema via these phases and transitions as the "signature" of the schema's evolution. Once all signatures for the entire corpus have been computed, we group them into frequently encountered signatures, introducing, thus, frequent patterns of schema lives. These patterns can be visually demonstrated via state diagrams.
Εξέλιξη σχήματος βάσεων δεδομένων, είναι η διαδικασία αλλαγής της δομής μιας βάσης, ή αλλιώς "σχήματος", μέσω προσθήκης, διαγραφής ή αλλαγής στοιχείων του σχήματος, όπως πίνακες, χαρακτηριστικά και περιορισμοί κατά τη διάρκεια της φάσης ανάπτυξης, ή η συντήρηση της δομής των δεδομένων, έτσι ώστε να εξυπηρετηθούν όλες οι συσχετιζόμενες εφαρμογές, οι οποίες -- όπως και όλα τα κομμάτια λογισμικού -- εξελίσσονται. Ο στόχος της διπλωματικής είναι η εξαγωγή διαφόρων φάσεων, στις οποίες μπαίνει ένα σχήμα ενός πρότζεκτ κατά τη διάρκεια του κύκλου ζωής του, και η δημιουργία "υπογραφών" των πιο συχνά εμφανιζόμενων ακολουθιών φάσεων κατά τη διάρκεια ζωής των σχεσιακών σχημάτων βάσεων. Χρησιμοποιώντας μια δημόσια συλλογή από ιστορίες εξέλιξης σχημάτων από ελεύθερα έργα ελεύθερου κώδικα, οργανώνουμε την ιστορία των συστημάτων σε μηνιαία κβάντα ως σημεία χρόνου και ορίζουμε τις αλλαγές μέσω σωρευτικών μετρικών μηνιαίων αλλαγών. Ξεκινώντας με κάθε χρονική μονάδα ως μια διαφορετική φάση, οι χρο νοσειρές της εξέλιξης σχήματος για ένα έργο είναι η σειρά μονάδων φάσεων, συνδεδεμένων μέσω μεταβάσεων που ορίζουν την ποσότητα αλλαγής (μετρημένη ως το άθροισμα των χαρακτηριστικών που εισάχθηκαν, διαγράφτηκαν και αλλάχθηκαν) που συνέβησαν μεταξύ δύο φάσεων. Μια μετάβαση είναι η γέφυρα η οποία ενώνει δύο φάσεις και επισημειώνεται ανάλογα με τον αριθμό αλλαγών μεταξύ δύο γειτονικών φάσεων. Έπειτα, συνενώνουμε γειτονικές μονάδες φάσεων σε μεγαλύτερες φάσεις, στη βάση ενός κριτηρίου ομοιότητας το οποίο λαμβάνει υπ' όψιν τους χαρακτηρισμούς των μεταβάσεων και καθορίζει τις φάσεις που προκύπτουν. Παρουσιάζουμε διαφορετικούς αλγορίθμους για την ένωση φάσεων, εναλλάσσοντας το κριτήριο ομοιότητας με στόχο την εύρεση της χρυσής τομής μεταξύ του να έχουμε πολλές μεταβάσεις (το οποίο συμβάλλει στο να έχουμε μεγάλη ακρίβεια) και περιεκτικότητα (το να έχουμε λιγότερες μεταβάσεις βελτιώνει την αναγνωσιμότητα της περιγραφής της ζωής ενός έργου, με κόστος την μείωση ακρίβειας). Αναφερόμαστε στην περιγραφή της ζωής ενός σχήματος μέσω αυτών των φάσεων και των μεταβάσεων ως την "υπογραφή" της εξέλιξης του σχήματος. Μόλις όλες οι υπογραφές για όλη τη συλλογή των έργων έχουν υπολογιστεί, τις ομαδοποιούμε σε υπογραφές που εμφανίζονται συχνά, παρουσιάζοντας έτσι, τα πιο συχνά πρότυπα της ζωής των σχημάτων. Αυτά τα πρότυπα μπορούν να αναπαρασταθούν οπτικά μέσω διαγραμμάτων καταστάσεων.

Description

Keywords

Databases, Phase, Transition, State diagrams, Βάσεις δεδομένων, Φάση, Μετάβαση, Διάγραμμα καταστάσεων

Subject classification

Databases

Citation

Link

Language

en

Publishing department/division

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

Advisor name

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

Examining committee

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

General Description / Additional Comments

Institution and School/Department of submitter

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

Table of contents

Sponsor

Bibliographic citation

Βιβλιογραφία: σ. 64-65

Name(s) of contributor(s)

Number of Pages

79 σ.

Course details

Endorsement

Review

Supplemented By

Referenced By

Creative Commons license

Except where otherwised noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States