Περίληψη : | Η επιχειρηματική ευφυΐα προσφέρει ένα σύνολο ιδεών και μεθόδων που βοηθούν στη βελτίωση της λήψης αποφάσεων και ουσιαστικά εφαρμόζονται σε data driven συστήματα στήριξης αποφάσεων παρέχοντας ιστορικές, σύγχρονες και μελλοντικές όψεις των επιχειρηματικών λειτουργιών. Σκοπός των συστημάτων επιχειρηματικής ευφυΐας πραγματικού χρόνου είναι άμεσα να παραδίδουν πληροφορία που σχετίζεται με τις επιχειρηματικές λειτουργίες. Ενώ η παραδοσιακή επιχειρηματική ευφυΐα παρουσιάζει ιστορικά δεδομένα στους χρήστες για ανάλυση, η ΕΥ πραγματικού χρόνου συγκρίνει τα τρέχοντα γεγονότα με ιστορικά πρότυπα για να ανακαλύπτονται προβλήματα αλλά και ευκαιρίες. Αυτή η δυνατότητα αυτόματης ανάλυσης επιτρέπει διορθωτικές κινήσεις και επιχειρηματικούς κανόνες να προσαρμόζονται για να βελτιστοποιούνται οι επιχειρηματικές διαδικασίες.Ένα τέτοιο παράδειγμα συστήματος επιχειρηματικής ευφυίας πραγματικού χρόνου αποτελούν οι αποθήκες δεδομένων. Οι τελευταίες είναι ειδικές βάσεις δεδομένων που περιέχουν κατάλληλα επεξεργασμένα δεδομένα, προερχόμενα από τις επιμέρους βάσεις δεδομένων μιας επιχείρησης, που σκοπό έχουν να βοηθήσουν τους συμβούλους και να υποστηρίξουν την λήψη αποφάσεων. Η διάδοση τους στηρίχτηκε ακριβώς σε αυτή την ανάγκη των επιχειρήσεων για εξαγωγή πληροφοριών και ταχεία ανάλυση.Μία εφαρμογή αποθήκης δεδομένων ή ακόμα περισσότερο μία έτοιμη εμπορική εφαρμογή δεν ταιριάζει σε κάθε επιχείρηση. Για αυτό τον λόγο τις περισσότερες φορές ο σχεδιασμός από την αρχή είναι επιβεβλημένος. Τα σημαντικότερα θέματα έρευνας στην περιοχή των αποθηκών περιλαμβάνουν αρχιτεκτονικές σχεδίασης, απόδοση συστήματος κατά την υποβολή ερωτημάτων και λειτουργικότητα αποθηκών σε σχέση με τις γνωστές τεχνικές βελτιστοποίησης του σχεσιακού μοντέλου. (παράγραφο 1.3).Μια κατηγορία συστημάτων σχετική με τις αποθήκες δεδομένων και την υποστήριξη της λήψης αποφάσεων είναι τα συστήματα OLAP (παράγραφος 1.4). Η απευθείας αναλυτική επεξεργασία είναι μία κατηγορία λογισμικού που προσφέρει ταχεία πρόσβαση και πολυδιάστατη επεξεργασία δεδομένων στους αναλυτές και στα υψηλόβαθμα στελέχη των επιχειρήσεων με σκοπό τη παρουσίαση και τη λύση των προβλημάτων της επιχείρησης. Η ανάπτυξη και η εξέλιξη της στηρίχτηκε ακριβώς στη ραγδαία αύξηση των ποσοτήτων των δεδομένων και την ταυτόχρονη ανάγκη για ταχεία ανάλυσή τους. Σχετικά με την σχέση των αποθηκών δεδομένων με τις OLAP εφαρμογές να αναφερθεί ότι οι αποθήκες δεδομένων αναδεικνύονται ως κύρια πηγή άντλησης πληροφοριών για τις OLAP εφαρμογές λόγω της ανάγκης για πολυδιάστατη ανάλυση. Οι αποθήκες δεδομένων περιέχουν συγκεντρωτικά και συνοπτικά δεδομένα, που είναι απαραίτητα για τη δημιουργία των πολυδιάστατων χώρων της απευθείας αναλυτικής διαδικασίας. Οι επιχειρήσεις με την εφαρμογή και εγκατάσταση μιας αποθήκης δεδομένων, ταυτόχρονα εφαρμόζουν τεχνικές OLAP οι οποίες συνεργάζονται άμεσα με αυτές. Άλλωστε, η μελέτη και εφαρμογή μιας αποθήκης δεδομένων (ή τις περισσότερες φορές ενός data mart) γίνεται για να υποστηρίξει μια απευθείας αναλυτική μέθοδο, η οποία δεν είναι δυνατό να συνεργαστεί απόλυτα με τις διαχειριστικές βάσεις δεδομένων.Ο σχεδιασμός των αποθηκών δεδομένων γίνεται έτσι ώστε να πετυχαίνεται η ταχύτερη και αμεσότερη προσπέλαση στα δεδομένα από την OLAP εφαρμογή, ή ακόμα για να μειώσει σε κάποιο βαθμό την επεξεργασία των δεδομένων που απαιτούνται να υπάρχουν για μια OLAP εφαρμογή. Στην παράγραφο 1.5 γίνεται καταγραφή των τεχνικών που χρησιμοποιούνται για την μείωση του χρόνου απόκρισης μιας αποθήκης δεδομένων σε ένα OLAP ερώτημα και αποτελούν βάση για την έρευνα που παρουσιάζεται στην παρούσα διπλωματική.Οι κατανεμημένες αποθήκες δεδομένων (ΚΑΔ) είναι μια κατηγορία αποθηκών που αρχίζει να επιβάλλει την χρησιμοποίηση τους λόγω της φύσης των σύγχρονων επιχειρήσεων. Οι περισσότερες σύγχρονες επιχειρήσεις αποτελούνται από πολλαπλά λειτουργικά συστήματα κατανεμημένα σε μια ευρεία γεωγραφική περιοχή καθιστώντας παράδοξη την ύπαρξη μόνο μιας κεντρικής αποθήκης δεδομένων και οδηγώντας σε όσο το δυνατόν περισσότερη κατανομή κατά την αποθήκευση των δεδομένων.Οι προσεγγίσεις των Inmon και White (παράγραφος 2.1) για κατανεμημένη αποθήκευση δεδομένων δίνουν περισσότερο έμφαση στην αρχιτεκτονική και στην δομή σχεδίασης παρά στις ενσωματωμένες τεχνικές υπολογισμού. Η προσέγγιση του Inmon υποθέτει την ύπαρξη τοπικών και καθολικών αποθηκών δεδομένων, με την κάθε τοπική αποθήκη να περιέχει δεδομένα τοπικού ενδιαφέροντος και ιστορικά στοιχεία επιπρόσθετα με τοπικές ΣΣΑ λειτουργίες. Η καθολική αποθήκη δεδομένων περιέχει καθημερινά δεδομένα του οργανισμού και δεδομένα ενοποιημένα από τις διάφορες τοπικές εγκαταστάσεις οργάνωσης για να συμπεριληφθούν στην κεντρική τοποθεσία. Η συγκεκριμένη προσέγγιση υποθέτει ότι τα δεδομένα που βρίσκονται σε κάθε τοπική αποθήκη δεν αποθηκεύονται στην καθολική αποθήκη και το αντίστροφο, παρέχοντας εγγύηση ότι θα δεν θα υπάρχει πλεονασμός ανάμεσα τους.Η προσέγγιση του White είναι γνωστή σαν αποθήκη δεδομένων δυο επιπέδων (2 – tier) και είναι ένας συνδυασμός κεντρικής αποθήκης με αποκεντρωμένο data mart. Ένα data mart είναι μια μικρή σε μέγεθος αποθήκη δεδομένων που περιέχει απο-κανονικοποιημένα και συνοπτικά δεδομένα που έχουν αξία για ένα συγκεκριμένο χρήστη ή ομάδα χρηστών. Η κεντρική αποθήκη περιέχει κανονικοποιημένα λεπτομερή δεδομένα συλλεγμένα και φιλτραρισμένα από λειτουργικά συστήματα σε χρονικά διαστήματα που καθορίζονται από τον χρήστη ενώ συντηρεί συλλογές δεδομένων που περιέχουν πληροφορία από τα λεπτομερή βασικά δεδομένα. Οι συλλογές δεδομένων είναι η όψη του χρήστη για τα δεδομένα μιας αποθήκης δεδομένων και μπορεί να περιέχουν αποκανονικοποιημένα λεπτομερή δεδομένα καθώς και συνοπτικά δεδομένα.Στην παράγραφο 2.3 παρουσιάζεται μια αρχιτεκτονική ΚΑΔ που συνδυάζει στοιχεία από τις δυο αυτές προσεγγίσεις. Η προτεινόμενη αρχιτεκτονική αναπαριστά την κλασσική λύση μιας μεγάλης επιχείρησης με διάφορα τμήματα και γεωγραφικές περιοχές, δίνοντας ιδιαίτερη βαρύτητα στην κατανεμημένη αναλυτική αποθήκευση δεδομένων. Υποθέτει την ύπαρξη δυο ειδών συμβούλων σε μια επιχείρηση και αναθέτει δυο είδη αποθηκών δεδομένων για να εκπληρώσει τις απαιτήσεις τους.Η κεντρική συνοπτική αποθήκη δεδομένων (CSDW) βρίσκεται στα κεντρικά με κάθε τμήμα να περιέχει συνοπτικά δεδομένα που δημιουργούνται επιλέγοντας, παρουσιάζοντας και συγκεντρώνοντας δεδομένα σε βολικότερες και πιο χρήσιμες όψεις για τους αποφασίζοντες. Αυτά τα δεδομένα σύνοψης προωθούνται στα κεντρικά όπου ενώνονται με τα αντίστοιχα δεδομένα από τα άλλα τμήματα σε μια κεντρική αποθήκη καθώς και σαν έγγραφα κειμένου και διαγράμματα.Η συγκεκριμένη αποθήκη παρέχει γρήγορη απόκριση αφού οι σύμβουλοι βρίσκονται στην ίδια τοποθεσία με τα δεδομένα και δεν επηρεάζονται από καθυστερήσεις του δικτύου. Παρέχεται αποδοτική ανάλυση αφού τα δεδομένα σύνοψης ανανεώνονται απευθείας όποτε πρόσφατα ενοποιημένα δεδομένα φορτώνονται στην τρέχουσα λεπτομερή αποθήκη δεδομένων. Επιπρόσθετα παρέχεται υψηλή ασφάλεια στα πιο ευαίσθητα δεδομένα μέσα από ένα εύκολα διαχειρίσιμο σύστημα.Η κατανεμημένη αναλυτική αποθήκη δεδομένων (DDDW) συνδέει τα διάσπαρτα τμήματα του οργανισμού μέσω μιας P2P προσέγγισης παρέχοντας ένα πλήρως κατανεμημένο σύστημα αποθήκης δεδομένων. Σε κάθε τμήμα της ΚΑΔ, τα δεδομένα ενοποιούνται από τα τοπικά λειτουργικά συστήματα, διαχωρίζονται και τοποθετούνται σε μια ή περισσότερες τοπικές αποθήκες δεδομένων (LDW) του οργανισμού. Η ΚΑΔ υποστηρίζει και τις δυο κατηγορίες συμβούλων παρέχοντας μια μόνο όψη των δεδομένων ακόμα κι αν τα δεδομένα είναι φυσικά κατανεμημένα σε πολλές αποθήκες δεδομένων - πολλαπλών συστημάτων - διάφορων τμημάτων (διαφάνεια κατανομής). Η διαφάνεια κατανομής επιτρέπει στους συμβούλους να τρέχουν την εφαρμογή ΣΣΑ σε σύγκριση με τη τοπική ΑΔ για να εκπληρώνουν τις τοπικές απαιτήσεις και οι σύμβουλοι στα κεντρικά μπορούν να χρησιμοποιούν drill – through σε λεπτομερή δεδομένα οποιουδήποτε τμήματος όποτε αυτό χρειαστεί.Σε κάθε κατανεμημένο περιβάλλον πρέπει οι σύμβουλοι να μπορούν να διατυπώνουν ερωτήματα OLAP, να εξάγουν λίστες – αναφορές και να παρουσιάζουν αναλύσεις. Υπάρχει μια κατηγορία πολύπλοκων OLAP ερωτημάτων που η χρησιμοποίηση τους είναι αρκετά συχνή και συνάμα αρκετά χρήσιμη, οπότε πρέπει να διατυπώνεται σχετικά απλά, χρησιμοποιώντας το σχεσιακό μοντέλο και δίνοντας δυνατότητα για εφαρμογή βελτιστοποιήσεων. Δυστυχώς, η τυπική SQL δεν επιτρέπει την περιεκτική έκφραση κάποιων απλών ερωτημάτων που περιλαμβάνουν ομαδοποίηση και συγκεντρωτικές πράξεις για τις ίδιες ομάδες. Οι πράξεις αυτές είναι ένα σημαντικό συστατικό της γλώσσας επερωτήσεων αφού χρησιμοποιούνται συχνά και σε μεγάλο εύρος εφαρμογών. Για την ορθή απόκριση σε τέτοια ερωτήματα στην SQL απαιτούνται επιπρόσθετες ενώσεις πινάκων ή και κατασκευή ενδιάμεσων μικρότερων ερωτημάτων, ενώ απλά μια ακολουθιακή επεξεργασία της ομαδοποιημένης σχέσης θα ήταν αρκετή. Οι SQL εκδόσεις πολλών τέτοιων επερωτήσεων δείχνουν υψηλό βαθμό πλεονασμού, με επακόλουθο να είναι αρκετά δύσκολη η συγγραφή, κατανόηση και διατήρηση τέτοιων ερωτημάτων και κατά δεύτερον να είναι δύσκολο σε μια βελτιστοποίηση να βρεθούν και να χρησιμοποιηθούν αποδοτικοί αλγόριθμοι. Στην παράγραφο 3.1 γίνεται μελέτη της επέκτασης της γνωστής σχεσιακής γλώσσας στην Extended Multi Feature SQL (EMF – SQL) που αποδεικνύεται αρκετά αποτελεσματική στο να απαντά με ακριβώς μια SQL δήλωση ερωτήματα που με την χρήση τυπικής SQL θα απαιτούσαν ενώσεις μεγάλων πινάκων και όψεων. Στην παράγραφο 3.2 παρουσιάζεται ο τελεστής Φ σαν διασύνδεση των παραπάνω προσθηκών με την σχεσιακή άλγεβρα, δείχνοντας τον τρόπο που η γλώσσα αυτή καταφέρνει να χρησιμοποιήσει το σχεσιακό μοντέλο για να υπολογίζει τέτοια ερωτήματα.Για τον υπολογισμό των ερωτημάτων σε ένα κατανεμημένο περιβάλλον αποθηκών δεδομένων είναι απαραίτητος ο επαναπροσδιορισμός των γνωστών σχεσιακών τελεστών για να πληρούν της απαιτήσεις των αποθηκών δεδομένων, δηλαδή να υποστηρίζουν star – joins και να εκμεταλλευτούν κατάλληλα την ευρετηρίαση. Ο τελεστής MDJ της παραγράφου 3.3 επεκτείνει τον καθορισμό πολύπλοκων ομαδοποιήσεων και τον ενοποιεί με τον καθορισμό πολύπλοκων συγκεντρωτικών πράξεων. Ο τελεστής διαχωρίζει εμφανώς τον ορισμό των ομαδοποιήσεων από τον ορισμό των συγκεντρωτικών πράξεων, χωρίς να ομαδοποιεί τις εγγραφές των συγκεντρωτικών πράξεων όπως γίνεται στις συμβατικές τεχνικές. Συγκεκριμένα στην παράγραφο 3.3.1 παρουσιάζονται κάποια παραδείγματα υπολογισμού ενός ερωτήματος με την χρήση του τελεστή καθώς και η σχέση του με τους υπάρχοντες τελεστές της σχεσιακής άλγεβρας (παράγραφος 3.3.2).Στο σύστημα Skalla της παραγράφου 3.4 γίνεται ενοποίηση των παραπάνω τεχνικών σε ένα σύστημα που μεταφράζει ερωτήματα OLAP σε κατανεμημένα πλάνα υπολογισμού και τα μεταφέρει χωριστά στις διάφορες τοποθεσίες του συστήματος. Ο τελεστής MDJ γενικεύεται με τον τελεστή GMDJ σαν ένας OLAP τελεστής που επιτρέπει αλγεβρική έκφραση πολλών επερωτήσεων. Με τον τρόπο αυτό παρέχεται ξεκάθαρος διαχωρισμός μεταξύ του ορισμού των ομαδοποιήσεων και του ορισμού των συγκεντρωτικών πράξεων μιας OLAP επερώτησης αλλά σε αντίθεση με τον τελεστή MDJ επιτρέπει την έκφραση μιας σειράς πολύπλοκων συγκεντρωτικών για διαφορετικά τμήματα δεδομένων χρησιμοποιώντας μια μόνο έκφραση. Αυτό επιτρέπει την έκφραση διαφόρων OLAP επερωτήσεων, βοηθούμενοι από τις SQL επεκτάσεις, με έναν ομοιόμορφο αλγεβρικό τρόπο. Επίσης περιγράφεται ο τρόπος υπολογισμού ενός ερωτήματος με χρήση του τελεστή GMDJ με μια κατανεμημένη αρχιτεκτονική καθώς και κάποιες βελτιστοποιήσεις.Καθώς είναι εμφανής η προσπάθεια αποκέντρωσης της προς επεξεργασία πληροφορίας ώστε ο φόρτος εργασίας να κατανέμεται στους συμμετέχοντες κόμβους του συστήματος, στο κεφάλαιο 4 γίνεται εισαγωγή σε ένα σύστημα, που δανείζεται αρκετά στοιχεία από το σύστημα Skalla του κεφαλαίου 3 και έρχεται σαν φυσική συνέχεια της έρευνας πάνω στην διατύπωση OLAP ερωτημάτων με χρήση της εκτεταμένης SQL. Περιγράφεται μια αρχιτεκτονική για κατανεμημένες αποθήκες δεδομένων, με τα βασικότερα σημεία της αρχιτεκτονικής να περιλαμβάνουν: o διεπαφή για την διατύπωση ερωτημάτων χρησιμοποιώντας το EMF – SQL συντακτικόo μηχανή επεξεργασίας των EMF - SQL ερωτημάτων που είναι αρμόδια για την παραγωγή των κατανεμημένων πλάνων εκτέλεσης τους.o πλάνο εκτέλεσης το οποίο δίνεται σαν είσοδο στον συντονιστή και αυτός αναλαμβάνει να συγχρονίσει την όλη διαδικασία ανταλλαγής πληροφοριών με τις πηγές δεδομένων.o μεταδεδομένων για χρήση από τον συντονιστή και την μηχανή επεξεργασίας των ερωτημάτων.Στην περίπτωση μοναδικής αποθήκης δεδομένων, ο υπολογισμός του παραπάνω θα ήταν καθαρά ζήτημα τοπικών υπολογισμών, όμως η αρχιτεκτονική μιας ΚΑΔ επιβάλλει την παρουσία ενός ενδιάμεσου που θα συντονίζει την όλη διαδικασία και θα κατανείμει τον φόρτο επεξεργασίας. Μια πιθανή προσέγγιση υπολογισμού με σειριακή μεταφορά των πινάκων από κόμβο σε κόμβο δε θα ήταν ιδιαίτερα αποδοτική. Σκοπός είναι το πλάνο υπολογισμού να περιέχει όσο το δυνατόν ελάχιστη χρησιμοποίηση του δικτύου και ανταλλαγή της απολύτως απαραίτητης πληροφορίας. Η βέλτιστη κατανεμημένη λύση θα περιλάμβανε μεταφορά δομών με μηδενική επικάλυψη μεταξύ των ανταλλασσόμενων κάθε φορά πληροφοριών και απουσία πλεονάζουσας χρήσης του δικτύου. Για την υποστήριξη της επικοινωνίας μεταξύ συντονιστή και πηγών δεδομένων έγινε ανάπτυξη δυο διεπαφών. Η πρώτη διεπαφή εγκαθίσταται στον συντονιστή και περιλαμβάνει λειτουργίες εξυπηρετητή ο οποίος μπορεί να λαμβάνει αιτήματα από τις πηγές και να προσφέρει τα δεδομένα σε αυτούς. Η δεύτερη διεπαφή προορίζεται για τις πηγές δεδομένων και από μέρους της περιλαμβάνει ακριβώς τις δυο λειτουργίες που απαιτούνται για επιτυχή ολοκλήρωση ενός γύρου υπολογισμού. Από την μια, κάθε πηγή μπορεί να ζητάει από τον συντονιστή μια συλλογή από αρχικά στοιχεία, σαν πίνακα βασικών τιμών, και από την άλλη να στέλνει όποτε απαιτείται τα αποτελέσματα του τοπικού υπολογισμού σαν μια δομή που περιέχει τις στήλες επέκτασης του πίνακα βασικών τιμών. Στην παράγραφο 4.2 περικλείονται λεπτομέρειες σχετικά με την υλοποίηση της επικοινωνίας μεταξύ του συντονιστή και των κόμβων για την ανταλλαγή των ζητούμενων δεδομένων ενώ στην παράγραφο 4.3 γίνεται αναφορά σε κάποιες πιθανές βελτιστοποιήσεις που συνδέονται άμεσα με τεχνικές που περιγράφηκαν σε προηγούμενα κεφάλαια και τείνουν να μειώσουν την ανταλλασσόμενη πληροφορία στην όσο το δυνατόν απαραίτητη. Η γνώση της σχεδίασης των αποθηκών δεδομένων μπορεί να οδηγήσει σε σημαντική βελτίωση του χρόνου εκτέλεσης των επερωτήσεων.Ολοκληρώνοντας την μελέτη στο κεφάλαιο 5 διευκρινίζεται ότι απώτερος σκοπός της όλης προσπάθειας, συμπεριλαμβάνοντας και την διπλωματική αυτή, είναι να προδιαγραφεί μια ισχυρή βάση πάνω από την οποία μπορεί να στηριχτεί η δημιουργία ενός κατανεμημένου συστήματος αποθηκών δεδομένων που ξεφεύγει από τα όρια του συντονισμού των διαφόρων κόμβων ενός ασφαλούς τοπικού δικτύου και δύναται να τοποθετήσει τις διάφορες εγκαταστάσεις της επιχείρησης σε όλο το διαδίκτυο και συνεπώς σε μια μεγάλη γεωγραφική έκταση. Η συγκεκριμένη προσέγγιση μπορεί να αποτελέσει τη διεπαφή στην οποία θα στηριχθεί ένα αυτοματοποιημένο σύστημα εκτέλεσης OLAP ερωτημάτων, σύμφωνα με το οποίο ο χρήστης θα μπορεί να υποβάλλει ένα ερώτημα και το σύστημα θα αναλαμβάνει την όλη διαδικασία εκτέλεσης με τα αποτελέσματα στην οθόνη του χρήστη. Είναι εμφανές ότι το συγκεκριμένο σύστημα μπορεί να χρησιμοποιηθεί σε ένα σύστημα στήριξης αποφάσεων ή και να παρέχει τα αποτελέσματα του σε ένα επιχειρησιακό πληροφοριακό σύστημα. Για την τελειοποίηση της προσέγγισης θα ήταν θεμιτή η χρησιμοποίηση ενός καθολικού βελτιστοποιητή επερωτήσεων που θα δίνει πλήθος επιλογών και στρατηγικών ενώ θα μπορούσε να γίνει επισύναψη της όλης δουλειάς σε μια εμπορική εφαρμογή ώστε να μελετηθεί η συμπεριφορά της σε πραγματικές συνθήκες. Business Intelligence describes a set of concepts and methods which improve business decision making by using fact-based support systems which are actually applied to data-driven DSS providing historical, current, and predictive aspects of business operations. Most often they use data that has been gathered into a data warehouse or a data mart and occasionally they work from operational data. Real time business intelligence is the process of delivering information about business operations without any latency. While traditional business intelligence presents historical information to users for analysis, real time business intelligence compares current business events with historical patterns to detect problems or opportunities automatically. This automated analysis capability enables corrective actions to be initiated and or business rules to be adjusted to optimize business processes.Data Warehouses are kinds of real time business intelligence tools. In particular they are specialized databases containing appropriately processed data, originating from corporate databases which aim at supporting decision making. Their popularity stems from the corporate need for rapid analysis and data extraction. A data warehouse application or a commercial application cannot be integrated in all corporations. This is why designing from scratch is usually imperative. The research on data warehouse field includes design architectures, system performance and warehouse functionality as far as relational model optimization techniques are concerned.OLAP systems are relevant with data warehousing and supporting decision making. Online analytical processing is a software technology that provides rapid access and multidimensional data processing for analysts and business executives while presenting and solving business problems. A rapid increase in data collections and the simultaneous need for immediate analysis account for its success.In order to understand how data warehouses and OLAP applications relate, we should refer to the fact that data warehouses are the main information source for OLAP applications. Data warehouses contain summarized and aggregation data, which are useful for creating the multidimensional views in online analytical processing. When corporations apply and install a data warehouse, they also apply OLAP techniques because of their perfect collaboration. Furthermore a data warehouse can support an online analytical processing that does not perfectly cooperates with operational databases.Data warehouse design aims at achieving rapid and immediate access to data from the OLAP application or to decrease the degree that data used by OLAP need to be processed. Section 1.5 refers to techniques that are being used to reduce data warehouse response time to an OLAP query and form the basis for our research as it is presented in this thesis.It is the nature of modern corporations that makes the use of Distributed Data Warehouses (DDD) appropriate. Most modern corporations consist of multiple operating systems which are distributed in a wide area. This makes the existence of a centralized data warehouse quite paradox and leads to more distribution in data warehousing.Inmon’s and White’s approaches for distributed data warehousing put more emphasis on design architecture than integrated execution techniques. Inmon’s approach assumes the existence of both local and global data warehouse, with each local data warehouse containing data of local interest and including historical data in addition to local DSS functions. The global data warehouse contains data common across the corporation and data integrated from the various local staging areas for inclusion into the central location. This is accomplished by having each local site stage warehouse data before passing it to the central global data warehouse, which provides the global DSS functionality for corporate – wide queries. This approach assumes that data found in any local data warehouse are not stored in the global data warehouse and vice versa, thereby guaranteeing no redundancy between them.White’s approach, also known as “Two – Tier Data Warehouse”, is a combination of a centralized data warehouse and a decentralized data mart. The data mart is a small sized data warehouse that contains denormalized and summarized data that is of value to a specific user or user group. White’s central data warehouse contains normalized detailed data captured and cleaned from operational systems at user – defined intervals. The central data warehouse maintains data collections that consist of data derived from the detailed base data. Data collections are the user’s view of data warehouse and may contain denormalized detailed data as well as summarized data.Section 2.3 presents a DDD architecture that combines elements from the above two approaches. The proposed architecture represents the classic solution for a large enterprise with several divisions and geographic locations, which gives significance on distributed detailed data warehousing. It assumes the existence of two types of decision makers and allocates two data warehouse types to meet their requirements.The Centralized Summarized Data Warehouse (CSDW) is located at the headquarters with each branch containing the summarized which are created by selecting, projecting and aggregating relational data into views more convenient and useful to the decision makers. This summarized data is then propagated to the headquarters, where it is aggregated with summary data from other branches in a central repository and as spreadsheets, text documents and charts. This particular data warehouse provides quick response time as the decision – makers are at the same location as the data so they will not be affected by network delays. It provides efficient analysis because the summarized data are updated directly when newly integrated data are loaded into the current detailed data warehouse. Further, it provides high security over the most sensitive data in an environment that is easy to manage.The Distributed Detailed Data Warehouse (DDDW) connects the dispensed branches of the organization by a peer – to – peer approach that provides a fully distributed data warehouse system. At each branch in the distributed data warehouse, the data will be integrated by the local operational systems, fragmented, and allocated into one or more of the local data warehouses in the organization. The distributed data warehouse supports two categories of decision makers by providing a single view of data even though that data is physically distributed across multiple data warehouses in multiple systems at different branches (i.e. distribution transparency). Distribution transparency allows the local decision makers to run DSS application against their local data warehouse to fulfill their local needs and the decision makers at the headquarters can drill through to the detailed data of any branch whenever necessary.In such a distributed environment, managers should be able to express OLAP queries, extract lists and present reports. There is a useful, practical and frequent class of ad-hoc OLAP queries that should be expressed relatively simply, relationally and efficiently over a distributed environment. Unfortunately classic SQL does not allow the succinct expression of some simple queries possibly including grouping and aggregation for the same group. Aggregation is an important component of the query language as it is used frequently in a variety of applications. Successful SQL response to such queries demands additional joins or even construction of small intermediate queries, while just a sequential processing of a grouped relation would be adequate. The SQL versions of such queries have high degree of redundancy making the expression, understanding and maintaining of such queries a tough problem. Additionally efficient algorithms are hard to be found and used for optimization purposes.In section 3.1 Extended Multi Feature SQL (EMF – SQL) is introduced and extends the well known relational language SQL. Itproves to be enough efficient to answer in only one SQL statement queries which usually require joining large tables and views. In section 3.2 we present the Φ operator that connects the above additions with the relational algebra, showing the way that the language manages to use the relational model to answer to such queries.In order to compute these queries in a distributed data warehousing environment it is vital to redefine the well known relational operators so as to meet data warehouse requirements (i.e. support star – joins and appropriately use indexing). MDJ operator of section 3.3 extends complex groups’ definition and unifies it with the complex aggregation definition. The operator provides a clear decoupling of the groups’ definition from aggregation definition, without grouping aggregation tuples as conventional techniques do. In particular, section 3.3.1 presents some examples for the computation of a query using this operator as well as its connection with the existing relational algebra operator (section 3.3.2).The Skalla approach (section 3.4) unifies the above techniques in a system that compiles OLAP queries into distributed computation plans which are being moved individually to the various system locations. The GMDJ operator generalizes the MDJ operator, allowing algebraic expression of several queries. In this way there is a clear differentiation between group by definition and aggregation definition appearing in an OLAP query, but opposite to MDJ allows expression of a series of complex aggregation functions for various data fragments using one statement. This also allows expression of several OLAP queries with a uniform algebraic way using the SQL extensions. Additionally we describe how a query is being computed using the GMDJ operator in a distributed environment and some included optimizations.Following the tendency that decentralizes the processed information and distributes the working load to participating nodes, in chapter 4 we introduce a system that borrows some of Skalla system’s elements and naturally continues the research on expressing OLAP queries with the aid of extended SQL. The distributed data warehouse architecture’s most crucial characteristics include:o an interface for entering EMF – SQL querieso an EMF – SQL engine to process the queries and produce the distributed computation planso the computation plan is given as input to the coordinator and he handles to synchronize the whole process of transferring data to the data sourceso metadata are being used by the coordinator and the query processing engineWhile in a single data warehouse, the above computation is clearly a matter of local computation, in case of a DDW architecture we are led to include a mediator as a coordinator of the whole process and distributor of the processing load. A possible computation approach that transfers the table from node to node cannot be efficient enough. The computation plan should make the minimum network use and transfer only the necessary information. The best distributed solution includes transferring structures with zero overlap and lack of redundant network use.We have developed two interfaces in order to support communication between the coordinator and the data sources. The first interface is being installed in the coordinator and includes server functionalities that allow the coordinator to receive node requests and provide them with the appropriate data. The second interface is to be used in the data sources and includes exactly the two functionalities required for successfully completing a computation round. In the first function, each node requests a collection of initial data, i.e. base table values, and in the second function he can send local computation results whenever required. These results are represented as a structure that contains columns that extend the base values table.In section 4.2 we present some details about the way the communication between the coordinator and the nodes is materialized. Section 4.3 refers to some included optimizations which directly connect with the techniques that were described in former chapters and tend to minimize the transferred information. Being aware of data warehouse design can lead to significant improvement of the query execution time. Finally the whole research that is described in this thesis aims at specifying a stable basis on which we can support the creation of a distributed data warehousing system that moves interest from just coordinating some local area network nodes and attempts to locate enterprise sites in a wide geographical area. This approach should constitute the interface to support an automated system that handles complex OLAP queries. The system takes on executing the inserted query and presents the results to the user interface. Such a system can be easily be integrated in a DSS or provide its results to a managerial information system. A possible extension to the approach would include a global query optimizer and its attachment in a commercial application so as to be tested in a real time environment.
|
---|