Orchid: Integrating Schema Mapping and ETL ICDE 2008 Δομουχτσίδης Παναγιώτης
Γενικά Data warehouse (DW): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από ένα πλήθος διαφορετικών πηγών. Έχει σαν στόχο να υποστηρίζει γρηγορότερες και καλύτερες αποφάσεις. Extraction-Transformation-Loading (ETL): Εργαλεία που διευκολύνουν και διαχειρίζουν τις λειτουργίες και τις διεργασίες των DW. Εξαγωγή σχετικής πληροφορίας από την πλευρά της πηγής (extraction). Μεταφορά αυτής της πληροφορίας στο DSA (transportation). Μετασχηματισμό της πληροφορίας που προέρχεται από πολλαπλές πηγές σε μία κοινή μορφή (transformation). Καθαρισμός των τελικών συνόλων των δεδομένων (cleaning). Διάδοση και φόρτωμα των δεδομένων στο DW και ανανέωση των data marts (propagation and loading).
Data Stage Area (DSA): Μία βοηθητική περιοχή δεδομένων για τον μετασχηματισμό, την τακτοποίηση και τον καθαρισμό πριν το τελικό φόρτωμα στο DW. Data mart: Ένα λογικό υποσύνολο του DW.
Εισαγωγή Mappings tools: Παράγουν ένα μετασχηματισμό μίας ερώτησης ή ενός προγράμματος που διατηρεί την σημασιολογία του και παρέχουν meta-data που διατηρούν τις σχέσεις μεταξύ του σχήματος της πηγής και του στόχου. ETL: Επιτρέπουν στους χρήστες να εκφράσουν μετασχηματισμούς δεδομένων (jobs) σαν μία ροή δεδομένων πάνω σε ένα γράφο τελεστών (stages).
Orchid (1/2) Το Orchid είναι ένα πρωτότυπο σύστημα που αναπτύσσεται στο IBM Almaden καιέχειενοποιηθείστοfasttrack ένα συστατικό του IBM Information Server. Είναι ένα σύστημα που μετατρέπει declarative mappings σε λεπτομερής διαγράμματα ροής (ETL jobs) και το αντίθετο. Το Orchid μετατρέπει τα Clio ή Rational Data Architect (RDA) schema mappings σε IBM WebSphere DataStage ETL jobs και το αντίθετο. Επειδή το Orchid μετατρέπει τα ETL job σε αντιστοιχίσεις, επαναδιατυπώνει τα job και τα αναπτύσσει σαν μία ακολουθία συνδυασμένων SQL ερωτήσεων και ETL jobs. Αυτό έχει σαν αποτέλεσμα να μειώνεται ο φόρτος εργασίας στους ETL προγραμματιστές.
Orchid (2/2) ETLs jobs & schema mappings descriptions αναπαριστούνται σαν ένα μοντέλο τριών επιπέδων (external, intermediate & abstract layer). External layer: χαρακτηρίζει την περιγραφή των ETL και mapping πληροφοριών σε ένα εξωτερικό σχήμα ειδικά για τα δεδομένα επεξεργασίας παραγωγής. Intermediate layer: ακόμη αναπαριστούν το προηγούμενο είδος, αλλά επιπλέον περιέχουν μοντέλα που αντανακλούν την επεξεργασία των ETL σχετικά με το Orchid. Abstract layer: υποστηρίζει το Operator Hub Model (OHM) για την αναπαράσταση των λειτουργιών των ETL βημάτων επεξεργασίας.
Operator Hub Model (OHM) (1/2) Ο κύριος σκοπός της εισαγωγής του ΟΗΜ μέσα στην αρχιτεκτονική του Orchid είναι: να παρέχει ένα μοντέλο για την αναπαράσταση των μετασχηματισμών των δεδομένων των λειτουργιών ανεξάρτητα από τις διαφορετικές πλατφόρμες ETL. Θέλουμε το ΟΗΜ να παραμείνει όσο γίνεται πιο κοντά στην προσέγγιση που είναι βασισμένη στους τελεστές που βρίσκονται στις ETL πλατφόρμες. Επίσης το ΟΗΜ πρέπει να είναι ικανό να αναπαραστήσει τους μετασχηματισμούς που είναι έμφυτοι στα schema mappings specifications. Για να πετύχουμε αυτούς τους σκοπούς επιλέγουμε την σχεσιακή άλγεβρα σαν σημείο εκκίνησης για το μοντέλο μας.
Operator Hub Model (OHM) (2/2) Ένα στιγμιότυπο του ΟΗΜ είναι ένας κατευθυνόμενος γράφος αποσπάσματος τελεστών κόμβων. Ο γράφος αναπαριστά μία ροή δεδομένων με την ροή προς την κατεύθυνση των ακμών. Κάθε κόμβος στον γράφο αναπαριστά μία λειτουργία μετασχηματισμού δεδομένων και είναι σχολιασμένος με πληροφορία που χρειάζεται να πιάσει τους σημασιολογικούς μετασχηματισμούς των λειτουργιών του ETL που αναπαριστούνται. Κάθε ακμή είναι σχολιασμένη με το σχήμα της ροής δεδομένων κατά μήκος της. Το σύνολο των τελεστών του ΟΗΜ περιέχει τους τελεστές της σχεσιακής άλγεβρας, επιπρόσθετα και κάποιους βελτιωμένους τελεστές. Επίσης υποστηρίζει και εμφωλευμένες δομές δεδομένων διαμέσου των απαραίτητων τελεστών.
Transforming ETL into Mappings Compiling ETL jobs into OHM Deploying OHM as Mappings
Transforming ETL into Mappings Compiling ETL jobs into OHM Deploying OHM as Mappings
Compiling ETL jobs into OHM Το Orchid κάνει την μετατροπή σε δύο βήματα: 1 ο βήμα: Η ETL αναπαράσταση διαβάζεται από την διεπαφή του ενδιάμεσου επιπέδου και μετατρέπεται σε ένα από κατευθυνόμενο γράφο, του οποίου οι κόμβοι καλύπτουν κάθε vendor-specific stage. 2 ο βήμα: Μετατρέπεται αυτός ο γράφος σε ένα γράφο που περιέχει ένα ή περισσότερους ΟΗΜ τελεστές.
Transforming ETL into Mappings Compiling ETL jobs into OHM Deploying OHM as Mappings
Deploying OHM as Mappings Δοσμένου του ακυκλικού κατευθυνόμενου γράφου (DAG) με του ΟΗΜ τελεστές, το Orchid δημιουργεί έναν αντίστοιχο DAG με αντιστοιχήσεις (mappings). Ξεκινώντας από την πλευρά των κόμβων της πηγής και με την φορά των ακμών προσπαθεί να συνθέσει την αντιστοίχηση στον τρέχων κόμβο με όλες τις αντιστοιχήσεις που στοχεύουν κόμβους με εισερχόμενες ακμές. Εάν η σύνθεση είναι δυνατή οι αντιστοιχήσεις αντικαθιστούν τις υπάρχοντες στον γράφο. Ένας κόμβος στον γράφο που δεν επιτρέπει την σύνθεση έχει τουλάχιστον μία ακμή που ονομάζεται materialization point. Τα materialization points αναγνωρίζονται ως όρια σε ένα γράφο, του οποίου οι αντιστοιχήσεις έχουν πλήρως συντεθεί.
Transforming Mappings into ETL Compiling Mappings into OHM Deploying OHM instances as ETL
Transforming Mappings into ETL Compiling Mappings into OHM Deploying OHM instances as ETL
Compiling Mappings into OHM Εισάγουμε τις αντιστοιχίσεις χρησιμοποιώντας την Clio ή κάποιο άλλο mapping tool. Αρχικά το Orchid δημιουργεί ένα σκελετό ενός ΟΗΜ γράφου χρησιμοποιώντας ένα πρότυπο. Έπειτα αναγνωρίζει και διατηρεί τους τελεστές που υπάρχουν στον γράφο και πραγματικά απαιτούνται για τις συγκεκριμένες αντιστοιχίσεις. Τέλος απομακρύνει εκείνους τους τελεστές του γράφου που είναι περιττοί.
Transforming Mappings into ETL Compiling Mappings into OHM Deploying OHM instances as ETL
Deploying OHM instances as ETL Το Orchid αναπτύσσει τον ΟΗΜ γράφο σε μία runtime πλατφόρμα (RP). Στο παράδειγμά μας χρησιμοποιείται η DataStage. Αρχικά κάθε τελεστής στον ΟΗΜ γράφο εσωκλείεται από ένα ή περισσότερους RP operator boxes. Όλοι οι RP τελεστές είναι ικανοί να διαχειριστούν OHM s BASIC PROJECT. Filter & Transform DataStage stages υλοποιούν το OHM s FILTER. Copy, Switch & Filter DataStage stages υλοποιούν το OHM s SPLIT. Υπάρχουν όμως τελεστές όπως ένα πολύπλοκο PROJECT, οι οποίοι δεν μπορούν να υλοποιηθούν από ένα από RP τελεστή. Όταν συμβεί αυτό το Orchid προσπαθεί να το σπάσει σε πολλαπλούς ΟΗΜ τελεστές. Επόμενο βήμα συγχώνευση γειτονικών RP operators boxes όσο το δυνατό το περισσότερο. Προτιμώνται λύσεις με τους λιγότερους RP τελεστές. Χρησιμοποιείται μία greedy τεχνική για τον συνδυασμό των κουτιών, ξεκινώντας με τους τελεστές πλησιέστερα στην πηγή των δεδομένων.
Mappings M 1 υπολογίζει το συνολικό ισοζύγιο για όλους τους πελάτες. M 2 και M 3 κατευθύνουν τις πλειάδες στις σχέσεις BigCustomers και OtherCustomers αντίστοιχα.
Orchid (3/3) ΗεισαγωγήτουOHM στο abstract layer έχει πολλά πλεονεκτήματα: 1) Αναπαριστά και χειρίζεται τα ETL jobs ανεξάρτητα, αυτό διευκολύνει τους μετασχηματισμούς από και προς τις αντιστοιχήσεις(mappings) και κάνει το μοντέλο ανεξάρτητο. 2) Είναι ελαστικό δηλαδή όταν, νέα ETL στοιχεία ή mapping λειτουργίες προστίθενται στο σύστημα, να μην επηρεάζεται καμία λειτουργία του επιπέδου που βρίσκεται το ΟΗΜ. 3) Μένοντας κοντά στην σχεσιακή άλγεβρα, προσδίδει στο ΟΗΜ τις ίδιες τεχνικές βελτιστοποίησης με το DBMS.