Abstract : | Data Integration is the broad and complex scientific field, which copes with semantic heterogeneity, via techniques of adaptive and/or federated query processing, operatingon architectures, which vary from a materialized repository or data warehouse, to a completely virtual infrastructure. Overall, Data Integration aims to increase the completeness, conciseness, and correctness of data that is available to users and applications; fact, which describes the need for quality driven modeling of the data to be integrated and the procedures, which would best achieve integration. There are many both academic and commercial tools, addressing the challenging enterprises’ environment or particular information technology domains. At the core of Data Integration lie the processes of schema matching, (as the generation of semantic correspondences between heterogenous data), schema mapping (as the consolidation and translation of these correspondences for the unification over the source and target schemata) and data exchange (as the detection of the best schema target and the processing of schema mappings to executable queries on the source). Spicy, a research project at University of Basilicata, Italy, performed simultaneous schema matching and mapping, letting the user validate the mappings via the interface (helping her choose among the different candidate mappings), using a first generation schema mapping algorithm. Schema mappings are expressed as sets of tuple generated dependencies, and schemata were relational or nested relational. Spicy also required source and target instances, enriching the user’s reasoning on the mapping task. Spicy later evolved into the +Spicy tool, which also performs rewriting of the tuple generating dependencies, eliminating redundancy, generating runtime scripts; for an instances input, the output is core solutions. Later, ++Spicy was developed, and provided as an open source tool, which uses equality generating dependencies, as target functional dependencies –constraints for the generation of executable scripts, and provides global solutions to the data exchange problem for other nested data models as well, apart from the relational and nested relational. In this thesis, ++Spicy was modified and extended, by the implementation of various functional requirements, such as: the optional (previously mandatory) import of source instances, the full operability support over extra types of data sources (in CSV and SQL files format), the import of correspondences in a conjunctive way, graphically and via an editor. Aiming at the tasks’ implementation, refactoring and redesign were necessary, also allowing its further integration with other tools. The in depth study of, and hands on experience with ++Spicy also led to the tool’s evaluation in terms of software engineering, useful for further work regarding redesign and implementation. Τα συστήματα ολοκλήρωσης δεδομένων (Data Integration Systems) παρέχουν ομοιόμορφη πρόσβαση σε σύνολο από αυτόνομες και ετερογενείς πηγές δεδομένων. Οι αρχιτεκτονικές τους ποικίλουν, όμως σε γενικές γραμμές, τα περισσότερα συστήματα εμπίπτουν κάπου στο φάσμα μεταξύ αποθηκών δεδομένων (warehousing) και εικονικής ολοκλήρωσης (virtual integration). Το στοιχείο εκείνο που διαχωρίζει την επεξεργασία επερωτήσεων στα συστήματα ολοκλήρωσης δεδομένων από τα παραδοσιακά και κατανεμημένα συστήματα βάσεων δεδομένων είναι εκείνο της προσαρμοστικότητας (adaptivity). Eπιπλέον, συχνά το μοντέλο ολοκλήρωσης είναι αυτό των ομόσπονδων βάσεων δεδομένων, για να αντιμετωπίζεται όχι μόνο η ετερογένεια αλλά και η αυτονομία των πηγών. Σκοπός, σε κάθε περίπτωση, είναι η ανάκτηση των κατάλληλων δεδομένων που χαρακτηρίζονται από πληρότητα, ακρίβεια και ορθότητα. Διαφαίνεται η ανάγκη για μοντελοποίηση με γνώμονα την ποιότητα, συστημάτων και διαδικασιών ολοκλήρωσης δεδομένων. Πληθώρα ακαδημαϊκών και εμπορικών εργαλείων απευθύνονται είτε στα απαιτητικά επιχειρηματικά περιβάλλοντα, είτε σε εξειδικευμένους τεχνολογικούς τομείς της πληροφορικής. Στον πυρήνα αυτού του ευρέος και πολυδιάστατου επιστημονικού πεδίου, απέναντι στη σημασιολογική ετερογένεια, δρουν οι διαδικασίες του ταιριάσματος σχημάτων (schema matching), δηλαδή της παραγωγής των ταιριασμάτων μεταξύ των διαφορετικών σχημάτων, της συσχέτισης – μετάφρασης σχήματος, ή αλλιώς σημασιολογικής αντιστοίχισης (schema mapping), που αφορά στην επικύρωση και ομογενοποίηση των παραπάνω ταιριασμάτων μεταξύ του σχήματος πηγής και σχήματος στόχου, και της ανταλλαγής δεδομένων (data exchange), που αφορά στην εύρεση του καλύτερου σχήματος στόχου, και στη μετατροπή των αντιστοιχίσεων σε επερωτήσεις εκτελέσιμες στην πηγή. Το Spicy, σύστημα σημασιολογικής αντιστοίχισης, αναπτύχθηκε στο πανεπιστήμιο της Basilicata, στην Ιταλία, εισάγοντας μία ιδιαίτερη προσέγγιση: χρησιμοποιώντας μεν αλγόριθμο σημασιολογικής αντιστοίχισης πρώτης γενιάς, ταυτόχρονα εφαρμόζει αλγορίθμους ταιριάσματος πάνω στις αντιστοιχίσεις μεταξύ σχήματος πηγής και σχήματος στόχου, τις οποίες σχηματίζει ο χρήστης, και του παρέχει τη δυνατότητα να επιβεβαιώνει τις σημασιολογικές αντιστοιχίσεις (mapping verification), καθώς ελέγχονται και τα στιγμιότυπα (instances). Με τις επιστημονικές εξελίξεις στο πεδίο της σημασιολογικής αντιστοίχισης και της ανταλλαγής δεδομένων το Spicy βελτιώθηκε στο +Spicy, το οποίο επιπλέον ξαναγράφει– αναπαράγει τις εξαρτήσεις παραγωγής πλειάδων (tuple generating dependencies), για την εξάλειψη των διπλοτύπων και την παραγωγή εκτελέσιμου αρχείου (πχ SQL script), έτσι ώστε με την εισαγωγή στιγμιότυπων για τα σχήματα πηγής και στόχου (instances), να εξάγονται λύσεις εύρεσης πυρήνα (core solutions), για το πρόβλημα της ανταλλαγής δεδομένων. Αργότερα αναπτύχθηκε το ++Spicy, εργαλείο σημασιολογικής αντιστοίχισης νέας γενιάς, ανοιχτού κώδικα, το οποίο επιπλέον χρησιμοποιεί εξαρτήσεις παραγωγής ισότητας, (δηλαδή λειτουργικές εξαρτήσεις του σχήματος στόχου- equality generating dependencies), και παράγει καθολικές λύσεις και για εμφωλευμένα μοντέλα δεδομένων. Στη διπλωματική εργασία, συνεισφέροντας στo project ανοιχτού κώδικα του ++Spicy, υλοποιήθηκαν λειτουργικές απαιτήσεις που αφορούν: α) στην αποδέσμευση της σημασιολογικής αντιστοίχισης από την εισαγωγή των στιγμιότυπων, β) στη δυνατότητα εισαγωγής και επεξεργασίας, αρχείων τύπου SQL και CSV, γ) στην εισαγωγή αντιστοιχίσεων με συνδυαστικό τρόπο (μέσω της γραφικής διεπαφής αλλά και χρήσει συντάκτη κειμένου), και δ) στην εξαγωγή αντιστοιχίσεων χρήσει διαφορετικών φορμαλισμών. Κατά τη διαδικασία της υλοποίησης έγιναν αλλαγές σε επίπεδο σχεδίασης, τέτοιες που να διευκολύνουν την επέκταση του, ή/ και σύνδεσή του με εργαλείο ταιριάσματος σχημάτων. Τέλος, γίνεται αξιολόγηση του ++Spicy σε όρους τεχνολογίας λογισμικού.
|
---|