ΕΡΑΤΟΣΘΕΝΗΣ: Ένα Πρωτότυπο Σύστημα για την Άμεση Αναλυτική Επεξεργασία των Δεδομένων

Σχετικά έγγραφα
Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΣΤΡΑΤΗΓΙΚΟ MANAGEMENT KAI EΠΙΧΕΙΡHΜΑΤΙΚΗ ΕΥΦΥΙΑ. Παρουσίαση 2 ο μέρος:

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΖΩΓΡΑΦΟΥ , ΑΘΗΝΑ

Επισκόπηση Μαθήµατος

Εξαγωγή Μετασχηματισμός Εισαγωγή Δεδομένων στην Αποθήκη Πληροφοριών (ETL) ETL) Αριστομένης Μακρής

Συστήματα Πληροφοριών Διοίκησης

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ Εργ. Συστημάτων Βάσεων Γνώσεων & Δεδομένων CONTEXT AWARE ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Άμεση Αναλυτική Επεξεργασία (OLAP)

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Orchid: Integrating Schema Mapping and ETL ICDE 2008

Το εσωτερικό ενός Σ Β

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Εισαγωγή στη Σχεδίαση Λογισμικού

Επεξεργασία Ερωτήσεων

Information Technology for Business

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Business Development, SAP Hellas 01/12/2007

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

Επεξεργασία Ερωτήσεων

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Δεδομένα και Πληροφορίες

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Αρχεία και Βάσεις Δεδομένων

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Σχεδιασµός βασισµένος σε συνιστώσες

Επεξεργασία Ερωτήσεων

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

4. ΔΗΜΙΟΥΡΓΙΑ ΜΟΝΤΕΛΟΥ ΠΟΛΥΔΙΑΣΤΑΤΗΣ ΑΝΑΛΥΣΗΣ

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ ΝΑΥΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΟΠΣ-ΝΕ

ΔΙΑΔΙΚΤΥΑΚΟ ΣΥΣΤΗΜΑ ΒΕΛΤΙΣΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΕΝΕΡΓΕΙΑΚΩΝ ΠΟΡΩΝ E.M.I.R. - Energy Management & Intelligent Reporting

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Κεφ.11: Ευρετήρια και Κατακερματισμός

Διαχείριση Πολιτισμικών Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

Επεξεργασία Ερωτήσεων

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Μοντελοποίηση Πεδίου

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις δεδομένων. Π. Φιτσιλής

Συστήματα OLAP. Πασχάλης Θρήσκος, PhD Λάρισα

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

ΗΥ 360 Αρχεία και Βάσεις Δεδομένων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Ramez Elmasri and Shamkant B. Navathe Ελληνική Εκδόσεις Δίαυλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 1-1

Άμεση Αναλυτική Επεξεργασία (OLAP)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Διαφορές single-processor αρχιτεκτονικών και SoCs

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών

Κεφάλαιο 4: Λογισμικό Συστήματος

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S.

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Θέματα διπλωματικών εργασιών σε. Συστοιχίες παράλληλης εξυηρέτησης εφαρμογών Διαδικτύου

Εισαγωγή στην Πληροφορική

Βασικές Έννοιες Πληροφορικής

Βάσεις Δεδομένων Ενότητα 1

Κεφάλαιο 2 ο. Συστήματα Πληροφοριών στην επιχείρηση

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Αυτοματοποιημένη χαρτογραφία

Αποθήκες Δεδομένων & Πολυδιάστατη Ανάλυση

Αρχιτεκτονικές Συστημάτων

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Συστήματα ΟΔΕΠ (Ολοκληρωμένης. Διαχείρισης Επιχειρησιακών Πόρων)- ERP (Enterprise Resource Planning)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ MANAGEMENT INFORMATION SYSTEMS (M.I.S.)

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

Εισαγωγή. Τι είναι µια βάση δεδοµένων;

ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

Μια ολοκληρωμένη, διαχρονική και μόνιμη συλλογή δεδομένων οργανωμένη κατά αντικείμενο ανάλυσης με στόχο τη διαδικασία υποστήριξης λήψης αποφάσεων -

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

Λιβανός Γιώργος Εξάμηνο 2017Β

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, ίαυλος ιαφάνεια 29-1

Στόχοι και αντικείμενο ενότητας

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Transcript:

ΕΡΑΤΟΣΘΕΝΗΣ: Ένα Πρωτότυπο Σύστημα για την Άμεση Αναλυτική Επεξεργασία των Δεδομένων Ν. ΚΑΡΑΓΙΑΝΝΙΔΗΣ δρ Ηλεκτρολόγος Μηχ/κός & Μηχ/κός Υπολογιστών Ε. Μ. Π. Γ. ΡΟΥΣΣΟΣ Ηλεκτρολόγος Μηχ/κός & Μηχ/κός Υπολογιστών Ε. Μ. Π. Τ. ΣΕΛΛΗΣ Καθηγητής Ε. Μ. Π. ΠΕΡΙΛΗΨΗ Η Άμεση Αναλυτική Επεξεργασία Δεδομένων (On-Line Analytical Processing - OLAP) είναι μια νέα τάση στην τεχνολογία των βάσεων δεδομένων, η οποία βασίζεται σε μια πολυδιάστατη θεώρηση των δεδομένων και αποτελεί αναπόσπαστο κομμάτι των τεχνολογιών της καλούμενης «επιχειρησιακής νοημοσύνης» (business intelligence). Τα συστήματα που υλοποιούν την εν λόγω τεχνολογία καλούνται εξυπηρετητές OLAP και είναι από τα πιο ακριβά προϊόντα λογισμικού στη βιομηχανία λογισμικού σήμερα. Ο σκοπός αυτού του άρθρου είναι να παρουσιάσει τη γενική αρχιτεκτονική ενός πρωτότυπου συστήματος OLAP που αναπτύσσουμε στο Ε.Μ.Π., τον ΕΡΑΤΟΣΘΕΝΗ. Το εν λόγω κείμενο περιγράφει, επίσης, το υποσύστημα διαχείρισης αποθήκευσης καθώς και αυτό της διαχείρισης διαστάσεων και καταδεικνύει με λεπτομέρεια τις σημαντικότερες αποφάσεις που ελήφθησαν σχετικά με τα βασικά τμήματα της αρχιτεκτονικής του ΕΡΑΤΟΣΘΕΝΗ στην πλευρά του εξυπηρετητή. Τέλος, αξίζει να σημειωθεί ότι το σύστημα αυτό χρησιμοποιήθηκε για την αποθήκευση πολύ μεγάλου όγκου δεδομένων πωλήσεων μιας αλυσίδας καταστημάτων ηλεκτρικών ειδών στην Ελλάδα με πολύ καλά αποτελέσματα απόδοσης, συγκρινόμενο με άλλα εμπορικά συστήματα.

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 70 1. ΣΚΟΠΟΣ O ΕΡΑΤΟΣΘΕΝΗΣ είναι ένα σύστημα διαχείρισης βάσεων δεδομένων που στοχεύει πρωτίστως στο να παρέχει λειτουργίες Άμεσης Αναλυτικής Επεξεργασίας των Δεδομένων (OLAP) και αναπτύσσεται στο εργαστήριο Βάσεων Γνώσεων και Δεδομένων [KDB03] του Εθνικού Μετσόβιου Πολυτεχνείου. Ο γενικός στόχος που οδήγησε στο να ξεκινήσει το πρόγραμμα ΕΡΑΤΟΣΘΕΝΗΣ, ήταν η ανάπτυξη ενός πρωτότυπου συστήματος OLAP που θα χρησιμεύει ως ένας «ερευνητικός πάγκος εργασίας» και θα ενσωματώνει τα ερευνητικά αποτελέσματά μας στον τομέα της άμεσης αναλυτικής επεξεργασίας δεδομένων. Εκτός, όμως, από την αξιολόγηση των ερευνητικών ιδεών σε ένα πραγματικό σύστημα, απώτερος στόχος μας ήταν και είναι η κάλυψη της πιο ουσιαστικής ανάγκης των χρηστών OLAP, δηλαδή.το να έχουν ένα σύστημα που να μπορεί πραγματικά να αποκριθεί άμεσα (on-line) σε ad hoc επερωτήσεις, υποστηρίζοντας κατ αυτό τον τρόπο την ad hoc ανάλυση. Ακολουθεί μια σύντομη εισαγωγή στην περιοχή των Αποθηκών Δεδομένων (Data Warehouses) και του OLAP (ενότητα 2). Στη συνέχεια παρουσιάζεται η γενική αρχιτεκτονική του συστήματος ΕΡΑΤΟΣΘΕΝΗΣ (ενότητα 3), ο διαχειριστής αποθήκευσης ΣΙΣΥΦΟΣ (ενότητα 4) και το υποσύστημα διαχείρισης διαστάσεων (ενότητα 5). 2. ΕΙΣΑΓΩΓΗ Οι Αποθήκες Δεδομένων αποτελούν μια συλλογή από τεχνολογίες στήριξης αποφάσεων (decision support) και μαζί με την Άμεση Αναλυτική Επεξεργασία των Δεδομένων παίζουν ουσιαστικά το ρόλο της κινητήριας δύναμης πίσω από την επιχειρησιακή νοημοσύνη (business intelligence). Ο όρος επιχειρησιακή νοημοσύνη περιγράφει το σύνολο των τεχνολογιών που παρέχουν στον τελικό χρήστη τη δυνατότητα της αποκτήσεως πολύτιμης πληροφορίας από δεδομένα, τα οποία συγκεντρώνονται συνήθως από την καθημερινή λειτουργία μιας επιχείρησης και η οποία προάγει τη στρατηγική λήψη αποφάσεων [Καρ03]. Πρακτικά, μια Αποθήκη Δεδομένων αποτελεί ένα αντίγραφο των δεδομένων που προκύπτουν από τις συναλλαγές ενός οργανισμού και είναι δομημένη με τέτοιο τρόπο ώστε να εξυπηρετούνται πολύπλοκες επερωτήσεις (queries) και η ανάλυση των δεδομένων

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 71 (Ralph Kimball, The Data Warehouse Toolkit, σελίδα 310). Συνήθως, η Αποθήκη Δεδομένων αποτελεί ξεχωριστό τμήμα από τις επιχειρησιακές βάσεις δεδομένων (operational databases) ενός οργανισμού, καθώς ο στόχος της είναι η υποστήριξη Άμεσης Αναλυτικής Επεξεργασίας των Δεδομένων (OLAP). Το παραπάνω επιβάλλεται καθώς η υποστήριξη OLAP έχει εντελώς διαφορετικές λειτουργικές απαιτήσεις και απαιτήσεις απόδοσης σε σχέση με την Άμεση Επεξεργασία Δοσοληψιών (On-Line Transaction Processing - OLTP) που υποστηρίζουν οι επιχειρησιακές βάσεις δεδομένων. Οι εφαρμογές OLTP είναι προσανατολισμένες στην αυτόματη διεξαγωγή συναλλαγών επεξεργασίας δεδομένων. Οι εργασίες αυτής της μορφής είναι επαναλαμβανόμενες και δομημένες με συγκεκριμένο τρόπο και αποτελούνται στην πλειοψηφία τους από μικρές σε μέγεθος δοσοληψίες (transactions). Βασικός στόχος είναι η υποστήριξη όσο το δυνατόν περισσότερων ταυτόχρονων δοσοληψιών, διατηρώντας συγχρόνως την ατομικότητα της καθεμίας (Atomicity), τη συνέπεια του συστήματος (Consistency), την απομόνωση μεταξύ των συναλλαγών (Isolation) και εξασφαλίζοντας διάρκεια (Durability) στις όποιες αλλαγές πραγματοποιούνται στη βάση (γνωστές και ως ACID ιδιότητες [Gray,Reuter]). Επιπλέον, η δυνατότητα ανάκαμψης της βάσης ύστερα από κατάρρευσή της ή από κάποιο καταστροφικό λάθος, διατηρώντας συγχρόνως τις ACID ιδιότητες, αποτελεί μέγιστη προτεραιότητα. Οι δοσοληψίες απαιτούν λεπτομερή, up-to-date δεδομένα και διαβάζουν ή γράφουν λίγες (μερικές δεκάδες) εγγραφές, στις οποίες έχουν προσπέλαση συνήθως με βάση τα πρωτεύοντα κλειδιά τους (primary keys). Συγχρόνως, οι επιχειρησιακές βάσεις δεδομένων έχουν μέγεθος μερικών εκατοντάδων megabytes έως μερικών gigabytes. Συνεπώς, οι βάσεις δεδομένων αυτής της μορφής σχεδιάζονται με τέτοιο τρόπο ώστε να εξυπηρετούν τη σημασιολογία και να ανταποκρίνονται βέλτιστα στις απαιτήσεις γνωστών επιχειρησιακών εφαρμογών και, πιο συγκεκριμένα, να ελαχιστοποιούνται οι επιπλοκές που εμφανίζονται από την προσπάθεια παραλληλοποίησης των δοσοληψιών. Οι Αποθήκες Δεδομένων, σε αντίθεση, απευθύνονται στο πεδίο της προχωρημένης στήριξης αποφάσεων. Στις Αποθήκες Δεδομένων τα ιστορικά, αθροιστικά και ενοποιημένα δεδομένα είναι πιο σημαντικά από λεπτομερείς, ανεξάρτητες εγγραφές. Λέγοντας ιστορικά δεδομένα εννοούμε τη διατήρηση όλων των αλλαγών μιας εγγραφής και όχι μόνο της

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 72 τελευταίας (έγκυρης) έκδοσής της, π.χ. η ποσότητα ενός προϊόντος που πωλήθηκε ανά μέρα για τις τελευταίες j μέρες και όχι μόνο για σήμερα. Η ανακάλυψη τάσεων στα δεδομένα ή η δυνατότητα πρόβλεψης απαιτούν την ύπαρξη ιστορικών δεδομένων, εφαρμογές στις οποίες οι επιχειρησιακές βάσεις δεδομένων αδυνατούν να αντεπεξέλθουν, καθώς αποθηκεύουν μόνο τα πιο πρόσφατα δεδομένα. Ενοποιημένα δεδομένα είναι τα δεδομένα που προκύπτουν από πολλές διαφορετικές πηγές, π.χ. από i διαφορετικούς πίνακες της ίδιας βάσης ή ακόμα και από τις βάσεις δεδομένων k διαφορετικών υποκαταστημάτων μίας επιχείρησης. Οι διαφορετικές πηγές είναι δυνατόν να περιέχουν δεδομένα διαφορετικής ποιότητας ή να χρησιμοποιούν διαφορετικούς συμβολισμούς, κωδικοποίηση και formats, οπότε τα εισερχόμενα δεδομένα καθαρίζονται και μετατρέπονται σε μια κοινή τελική μορφή. Τέλος, αθροιστικά δεδομένα προκύπτουν όταν παρατηρούμε τα δεδομένα σε διαφορετικά επίπεδα διακριτότητας σε σχέση με το πλέον λεπτομερές επίπεδο, δηλαδή τα δεδομένα που πρακτικά προκύπτουν από την εφαρμογή αθροιστικών τελεστών στα δεδομένα, π.χ. ο αριθμός κατοίκων ανά πόλη ή ανά χώρα ή ανά ήπειρο. Καθώς οι Αποθήκες Δεδομένων περιέχουν ενοποιημένα δεδομένα, πιθανώς από αρκετές επιχειρησιακές βάσεις δεδομένων και συχνά καλύπτοντας διάρκεια μεγάλων χρονικών περιόδων, τείνουν να είναι κάποιες τάξεις μεγέθους μεγαλύτερες από τις επιχειρησιακές βάσεις δεδομένων, φτάνοντας σε μέγεθος εκατοντάδων gigabytes έως και μερικών terabytes. Επίσης, οι απαιτήσεις και τα χαρακτηριστικά ενός Συστήματος Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ) (Database Management System DBMS) που χρησιμοποιείται για OLAP, και το οποίο βασίζεται κυρίως σε Αποθήκες Δεδομένων, είναι σημαντικά διαφορετικές απ αυτές ενός συστήματος για εφαρμογές OLTP. Το πρώτο χρησιμοποιείται σε ένα περιβάλλον «κυρίως ανάγνωσης» (read-mostly), όπου οι ενημερώσεις λαμβάνουν χώρα περιοδικά και με μαζικό τρόπο (batch mode), και ούτε αυθαίρετα ούτε με μεγάλη συχνότητα. Το γεγονός αυτό αλλάζει ριζικά την εστίαση της οργάνωσης των δεδομένων, επιτρέποντας τη χρήση τεχνικών, όπως ο πλεονασμός των δεδομένων μέσω αποθήκευσης μη κανονικοποιημένων πινάκων ή η φυσική συγκέντρωση (clustering) των δεδομένων, ώστε να μειωθεί ο χρόνος απόκρισης των επερωτήσεων και οι οποίες δεν θα χρησιμοποιούνταν ποτέ σε ένα σύστημα OLTP, αφού θα επιμήκυναν το χρόνο εκτέλεσης

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 73 των ενημερώσεων. Επιπλέον, ο έλεγχος συγχρονισμού (concurrency control) δεν είναι τόσο σημαντικός στα συστήματα OLAP, όσο είναι στα συστήματα OLTP, αφού τα πρώτα στοχεύουν πρωτίστως σε μια μικρή μόνο ομάδα στρατηγικών (για την επιχείρηση) χρηστών. Στα συστήματα OLAP, η απόδοση (throughput) και ο χρόνος απόκρισης των queries είναι πιο σημαντικά από το throughput των ανεξάρτητων δοσοληψιών. Συγχρόνως, η ανάγκη για μια προχωρημένη ανάλυση των δεδομένων επέβαλλε στις επερωτήσεις OLAP να είναι πιο σύνθετες και να συνεπάγονται την επεξεργασία μεγάλου όγκου δεδομένων. Έτσι, το μεγαλύτερο ποσοστό του φόρτου εργασίας ενός DBMS που χρησιμοποιείται για OLAP οφείλεται κυρίως σε ad hoc σύνθετες επερωτήσεις στα δεδομένα, οι οποίες είναι δυνατόν να χρειάζεται να προσπελάσουν εκατομμύρια εγγραφές και να κάνουν μεγάλο αριθμό από συζεύξεις (joins), σαρώσεις (scans) στους πίνακες και συναθροίσεις. Αυτή η μορφή των ad hoc OLAP επερωτήσεων, για τις οποίες δεν υπάρχει καμία a priori γνώση, είναι απαραίτητη για την προχωρημένη στήριξη αποφάσεων, καθώς η ανάλυση των δεδομένων και η εύρεση νέων συσχετίσεων σε αυτά δεν είναι δυνατόν να ακολουθεί προκαθορισμένους κανόνες ούτε οι επερωτήσεις να προέρχονται από ένα προκαθορισμένο πεπερασμένο σύνολο, όπως γίνεται στις OLTP εφαρμογές. Τα παραπάνω καθιστούν τις ad hoc επερωτήσεις τις πλέον σημαντικές για ένα σύστημα OLAP, με αποτέλεσμα η απόδοση μιας Αποθήκης Δεδομένων ως προς αυτές να είναι κρίσιμη για τη συνολική απόδοση όλου του συστήματος. Αυτού του τύπου οι επερωτήσεις συνδυάζουν πολλαπλά χαρακτηριστικά μιας επιχείρησης (ή του όποιου άλλου συστήματος περιγράφεται μέσω της Αποθήκης Δεδομένων) με στόχο την παροχή ενός ενοποιημένου αποτελέσματος ως προς κάποιες μετρήσιμες τιμές. Αυτό οδηγεί σε μια πολυδιάστατη (multidimensional) μοντελοποίηση των δεδομένων, όπου ένας αριθμός από Διαστάσεις (dimensions) χαρακτηρίζει ορισμένες μετρήσιμες τιμές (measures). Παραδείγματος χάριν, στην Αποθήκη Δεδομένων με τις πωλήσεις μιας αλυσίδας πολυκαταστημάτων, ο χρόνος πώλησης, η διεύθυνση του συγκεκριμένου καταστήματος, το όνομα του πωλητή ή ο αριθμός του ταμείου θα μπορούσαν να είναι ορισμένες από τις Διαστάσεις μέσω των οποίων χαρακτηρίζεται μοναδικά η συγκεκριμένη καταχώριση, της οποίας μετρήσιμη τιμή αποτελεί το χρηματικό ποσό της συγκεκριμένης αγοραπωλησίας. Σημαντική λεπτομέρεια

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 74 αποτελεί το γεγονός ότι το ποια μεγέθη είναι Διαστάσεις και το ποια είναι μετρήσιμες τιμές εξαρτάται μόνο από τις ιδιαιτερότητες του κάθε οργανισμού και της μορφής της ανάλυσης που θέλει να πραγματοποιήσει. Οι μετρήσιμες τιμές αποτελούν την «καθαρή» πληροφορία του συστήματος, αλλά οι συσχετίσεις ή ομαδοποιήσεις πραγματοποιούνται μέσω των Διαστάσεων, μέσω των οποίων γίνεται η τοποθέτηση της πληροφορίας σε κάποια περιοχή του πολυδιάστατου χώρου. Η ανάγκη για αποτελέσματα σε διαφορετική διακριτότητα (granularity) οδήγησε στην οργάνωση των Διαστάσεων σε ιεραρχίες διαφόρων συναθροιστικών επιπέδων (aggregation levels). Παραδείγματος χάριν, για τη διάσταση τοποθεσία πώλησης μια τέτοια ιεραρχία επιπέδων θα μπορούσε να ήταν η ακόλουθη: {κατάστημα, περιοχή, πόλη, χώρα, ήπειρος}, με το πιο λεπτομερές επίπεδο να είναι το «κατάστημα» και το επίπεδο με τη μικρότερη διακριτότητα το «ήπειρος», και ένα συγκεκριμένο κατάστημα να είναι το: {κατάστημα17, Άνω Πατήσια, Αθήνα, Ελλάδα, Ευρώπη}. Έτσι, οι ιεραρχίες επιτρέπουν ερωτήσεις σε διαφορετικά επίπεδα διακριτότητας όπως: «δείξε το σύνολο των πωλήσεων ανά χρόνο ανά κατάστημα» ή «δείξε το σύνολο των πωλήσεων ανά μήνα ανά χώρα». Οι ιεραρχίες των Διαστάσεων παίζουν κυρίαρχο ρόλο στα φορτία επερωτήσεων OLAP, εφ όσον οι πιο τυπικές επερωτήσεις περιέχουν περιορισμούς πάνω στις ιεραρχίες σε συνδυασμό με ομαδοποίηση (grouping) και συνάθροιση (aggregation) πάνω στα διάφορα επίπεδα των ιεραρχιών. Τυπικές λειτουργίες (operations) OLAP ως προς μία ή περισσότερες ιεραρχίες Διαστάσεων είναι η rollup (ελάττωση της διακριτότητας ή επιπλέον εφαρμογή συναθροιστικών τελεστών στα δεδομένα) και η drill-down (αύξηση της διακριτότητας). Τέλος, χρησιμοποιώντας πάντα την προαναφερθείσα πολυδιάστατη μοντελοποίηση των δεδομένων στο λογικό επίπεδο, οι Αποθήκες Δεδομένων μπορούν να υλοποιηθούν είτε χρησιμοποιώντας κλασικά ή τροποποιημένα σχεσιακά Συστήματα Διαχείρισης Βάσεων Δεδομένων, οπότε ονομάζονται σχεσιακά συστήματα OLAP (Relational OLAP - ROLAP), είτε χρησιμοποιώντας ειδικά κατασκευασμένα πολυδιάστατα συστήματα OLAP (Multidimensional OLAP - MOLAP). Τα συστήματα ROLAP θεωρούν ότι τα δεδομένα αποθηκεύονται σε σχεσιακές Βάσεις Δεδομένων και υποστηρίζουν επεκτάσεις της SQL (Structured Query Language) και ειδικές μεθόδους για την πρόσβαση στις λειτουργίες

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 75 του πολυδιάστατου μοντέλου δεδομένων. Από την άλλη, τα συστήματα MOLAP αποθηκεύουν απ ευθείας τα πολυδιάστατα δεδομένα σε ειδικές πολυδιάστατες δομές (όπως πολυδιάστατοι πίνακες) και υποστηρίζουν τις λειτουργίες του πολυδιάστατου μοντέλου δεδομένων άμεσα, μέσω πράξεων σε φυσικό επίπεδο στις δομές αυτές. 3. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΕΡΑΤΟΣΘΕΝΗΣ Το σύστημα ΕΡΑΤΟΣΘΕΝΗΣ ανήκει στην κατηγορία των Συστημάτων Διαχείρισης Βάσεων Δεδομένων. Ένας πιο ακριβής χαρακτηρισμός θα ήταν «Σύστημα Διαχείρισης Υπέρ- Κύβων», καθώς το μοντέλο δεδομένων στο οποίο βασίζεται το σύστημα είναι αυτό των υπέρ-κύβων δεδομένων ή απλούστερα κύβων. Η οργάνωση αρχείου που χρησιμοποιείται για την αποθήκευση των μετρήσιμων τιμών ονομάζεται Αρχείο ΚΥΒΟΥ (CUBE File). Το Αρχείο ΚΥΒΟΥ είναι μια πολυδιάστατη δομή δεδομένων που υποστηρίζει από τη φύση της τις ιεραρχίες. Προορίζεται πρωτίστως για την επιτάχυνση των ad hoc επερωτήσεων OLAP που περιέχουν περιορισμούς στις ιεραρχίες των Διαστάσεων, ή/και ομαδοποιήσεις (grouping operations) στα επίπεδα των ιεραρχιών, και οι οποίες αποτελούν φυσικά τον πλέον επικρατούντα τύπο επερωτήσεων πάνω σε έναν κύβο. Έχει σχεδιαστεί ώστε να υποστηρίζει μία αρχική μαζική φόρτωση (initial bulk loading) στη συνέχεια, συνόδους επερωτήσεων «μόνο ανάγνωσης» (read-only query sessions) καθώς και διαφορικές μαζικές ενημερώσεις, αντί για δυναμικές λειτουργίες ανάγνωσης/εισαγωγής/ενημέρωσης. Το OLAP σύστημα ΕΡΑΤΟΣΘΕΝΗΣ μπορεί να χρησιμοποιηθεί σε μια αρχιτεκτονική πελάτη-εξυπηρετητή (client-server), όπου ο πελάτης (client) αλληλεπιδρά με τον χρήστη και υποβάλλει επερωτήσεις αστέρος στον εξυπηρετητή προς αποτίμηση. Παρ όλα αυτά, η πλευρά του πελάτη θα μπορούσε να χωριστεί στα δύο (παράγοντας έτσι μια γενική αρχιτεκτονική 3-επιπέδων (3-tier architecture)) όπου το ενδιάμεσο επίπεδο λαμβάνει επερωτήσεις OLAP που αποτελούνται από σύνθετες πολυδιάστατες εκφράσεις (που παράγονται από κάποια γραφική διεπαφή στο κορυφαίο επίπεδο) και τις οποίες στη συνέχεια αναλύει σε μια σειρά ad hoc επερωτήσεων αστέρος που αποτιμώνται στην πλευρά του εξυπηρετητή.

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ (lock management) ΧΡΟΝΙΚΑ µ 76 µ (recovery) (transaction manager) SSM. Στο Σχήμα 1, απεικονίζουμε την αρχιτεκτονική του τμήματος εξυπηρετητή του συστήματος µ ΕΡΑΤΟΣΘΕΝΗΣ. µ, Στο µ σχήμα διακρίνουμε τρία επίπεδα. Στο πιο κάτω επίπεδο, µ µ (threads),. ERATOSTHENES OLAP Server Communication Manager Query Manager compile/validate query Optimization Manager star-query optimization Plan Selection Manager rule/cost-based plan selection Statistics Manager Cost Manager Hierarchy-enabled cost model for starquery operations Multidimensional Statistics SISYPHUS Storage Manager Functionality Execution Manager execute plan implements physical operators Access Manager create/delete cube, create/delete dimension, cube access, dimension access, cube loading/ maintenance, dimension loading/ maintenance Buffer Manager pin/unpin bucket, access chunk, hierarchy-based replacement policy Catalog Manager register/unregister cube/dimension, retrieve cube/ dimension meta-data File Manager create/delete CUBE File, create/delete bucket, read/write bucket SHORE Storage Manager Functionality System Manager Encapsulate Shore Storage Manager Initialize database on start-up Threads Lock Management locks on volumes, files, indexes, records Buffer Management pin/unpin records, fix/unfix pages Btree Management create/destroy index, insert/delete/update entry File Management create/destroy files, create/destroy records, Transaction Management begin, commit, abort, roll-back, save-work Disk Space Management page allocation/deallocation, page- space management µ 1: µ Σχήμα 1: Η αρχιτεκτονική του συστήματος ΕΡΑΤΟΣΘΕΝΗΣ. 7

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 77 βρίσκεται ο διαχειριστής αποθήκευσης SHORE (SHORE Storage Manager - SSM) που αποτελεί μια βιβλιοθήκη για την ανάπτυξη εξυπηρετητών αποθήκευσης αντικειμένων (object repository servers) που έχει αναπτυχθεί στο Πανεπιστήμιο του Wisconsin-Madison [SSM99]. Ο SSM παρέχει όλη τη λειτουργικότητα ενός διαχειριστή αποθήκευσης για εγγραφές χωρίς τύπο δεδομένων (untyped records). Πολύτιμες υπηρεσίες, όπως η διαχείριση των σελίδων του δίσκου (disk space management), ή η διαχείριση της ενδιάμεσης μνήμης (buffer management), στην οποία προσκομίζονται σελίδες από το δίσκο και «καρφώνονται» (pinned) σε κάποια θυρίδα-σελίδας (page-slot) στην κύρια μνήμη, ή ο έλεγχος συγχρονισμού (concurrency control) με τα διαφορετικού τύπου κλειδώματα (locks) που προσφέρονται σε διάφορα επίπεδα διακριτότητας (lock management) και ακόμη η διαχείριση της ανάκαμψης (recovery) που γίνεται από ένα διαχειριστή δοσοληψιών (transaction manager) όλα παρέχονται από τη διεπαφή του SSM. Επιπλέον, προσφέρεται επίσης μια υλοποίηση νημάτων (threads), την οποία έχουμε χρησιμοποιήσει, προκειμένου να προστεθεί η υποστήριξη πολλαπλών χρηστών στον ΕΡΑΤΟΣΘΕΝΗ. Πάνω από τον SSM βρίσκεται ο διαχειριστής αποθήκευσης ΣΙΣΥΦΟΣ. Πρόκειται για ένα διαχειριστή αποθήκευσης βασισμένο σε τεμάχια (chunk-oriented), ο οποίος ουσιαστικά υλοποιεί την πρωτεύουσα οργάνωση αρχείου Αρχείο ΚΥΒΟΥ. Ο ΣΙΣΥΦΟΣ ανάγει τους κύβους και τις Διαστάσεις σε «πολίτες πρώτης κατηγορίας» (first class citizens) στο σύστημα ΕΡΑΤΟΣΘΕΝΗΣ και παρέχει χαρακτηριστικές λειτουργίες διαχείρισης αποθήκευσης, προσανατολισμένες όμως προς τις συγκεκριμένες ανάγκες του OLAP. Παραδείγματος χάριν, η μονάδα του διαχειριστή ενδιάμεσης μνήμης (buffer manager), αν και εσωτερικά χρησιμοποιεί τα μέσα που παρέχει ο αντίστοιχος διαχειριστής ενδιάμεσης μνήμης του SSM, ο οποίος λειτουργεί με σελίδες και χρησιμοποιεί μια στρατηγική παρόμοια με αυτή της ελάχιστα πρόσφατης χρησιμοποίησης (LRU), υλοποιεί μια απολύτως διαφορετική στρατηγική αντικατάστασης (replacement strategy), επιτρέποντας την αποθήκευση των κάδων (η μονάδα Ε/Ε στο Αρχείο ΚΥΒΟΥ) βάσει των ιεραρχιών διάστασης. Στο πιο πάνω επίπεδο βρίσκεται η μηχανή εκτέλεσης, που αναπαριστάνεται με το διαχειριστή εκτέλεσης (execution manager), η οποία υλοποιεί όλους τους φυσικούς τελεστές (δηλαδή τους αλγορίθμους επεξεργασίας) και συντονίζει την αποτίμηση των πλά-

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 78 νων επερώτησης που αναπαριστάνονται από δένδρα-τελεστών (operator trees). Αυτά τα πλάνα ουσιαστικά υλοποιούν το πλαίσιο επεξεργασίας για τις ad hoc επερωτήσεις αστέρος πάνω από ιεραρχικά συγκεντρωμένα δεδομένα [KTS+02]. Ο διαχειριστής βελτιστοποίησης (optimizer manager) υλοποιεί τεχνικές βελτιστοποίησης που σχετίζονται με μετασχηματισμούς των πλάνων εκτέλεσης. Αυτοί οι μετασχηματισμοί ενεργοποιούνται από ευριστικούς κανόνες ή/και από αποφάσεις βασισμένες στο κόστος της αποτίμησης. Τέλος, είναι σημαντικό να σημειωθεί, ότι η ιδιαίτερη προσοχή έχει δοθεί στη σχεδίαση του συστήματος, προκειμένου να επιτρέπεται η εύκολη ενσωμάτωση εναλλακτικών μεθόδων και αλγορίθμων σε ολόκληρο το φάσμα της διαχείρισης δεδομένων. Το σύστημα ΕΡΑΤΟΣΘΕΝΗΣ έχει υλοποιηθεί με τη γλώσσα προγραμματισμού C++ [Str97] και τρέχει σε πλατφόρμα Linux (πυρήνας 2.4.x) [LNX02]. 4. O ΔΙΑΧΕΙΡΙΣΤΗΣ ΑΠΟΘΗΚΕΥΣΗΣ ΣΙΣΥΦΟΣ Η άμεση αναλυτική επεξεργασία των δεδομένων θέτει νέες απαιτήσεις στο επίπεδο της φυσικής αποθήκευσης ενός συστήματος διαχείρισης βάσεων δεδομένων. Τα ειδικά χαρακτηριστικά των κύβων OLAP, όπως είναι η πολυδιαστατότητα, η ιεραρχική δομή των Διαστάσεων, η αραιότητα των δεδομένων κ.λπ., είναι δύσκολο να τα χειριστούμε με τους συνηθισμένους διαχειριστές αποθήκευσης που βασίζονται σε εγγραφές. Ο διαχειριστής αποθήκευσης ΣΙΣΥΦΟΣ βασίζεται στη φυσική οργάνωση δεδομένων Αρχείο ΚΥΒΟΥ, προκειμένου να επιτύχει την ιεραρχική συγκέντρωση των δεδομένων του κύβου, με ένα χαμηλό κόστος αποθήκευσης και, ως εκ τούτου, να αποτελέσει μια αποδοτική φυσική βάση για την εκτέλεση λειτουργιών OLAP. Ένας χαρακτηριστικός διαχειριστής αποθήκευσης ενός σχεσιακού ΣΔΒΔ (RDBMS) προσφέρει τις δομές αποθήκευσης, τις λειτουργίες, με μια λέξη το πλαίσιο, προκειμένου να υλοποιηθεί ένα σύστημα αρχείων, βασισμένο σε πλειάδες (ή εγγραφές), πάνω από το σύστημα αρχείων ενός λειτουργικού συστήματος ή τη διεπαφή μιας συσκευής αποθήκευσης. Εντούτοις, στο πλαίσιο των εφαρμογών OLAP μερικές από αυτές τις υπηρεσίες έχουν, θα λέγαμε, «περιορισμένη χρησιμότητα», ενώ κάποια άλλα χαρακτηριστικά που απαιτούνται πραγματικά, δεν υποστηρίζονται σε μεγάλο βαθμό ή και καθόλου, από ένα συμβατικό διαχειριστή αποθήκευσης για εγγραφές. Για παράδειγμα, είναι γνωστό ότι

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 79 σε περιβάλλοντα OLAP δεν υπάρχουν φορτία εργασίας με πολλές δοσοληψίες, ούτε και συχνές ενημερώσεις στη βάση δεδομένων. Τα περισσότερα από τα φορτία είναι «μόνο ανάγνωσης». Επιπλέον, οι επερωτήσεις OLAP είναι πιο απαιτητικές απ ό,τι στα συστήματα OLTP (Άμεσης Επεξεργασίας Δοσοληψιών) και θέτουν έτσι μια επιτακτική ανάγκη για μικρούς χρόνους απόκρισης, η οποία με όρους αποθήκευσης μεταφράζεται σε ανάγκη για μια αποδοτική πρόσβαση στα δεδομένα. Επίσης, ο έλεγχος συγχρονισμού δεν είναι τόσο σημαντικός σε περιβάλλοντα OLAP όπως είναι σε περιβάλλοντα OLTP. Αυτό οφείλεται στο προφίλ των φορτίων εργασίας OLAP που είναι περισσότερο προσανατολισμένο στην ανάγνωση, όπως επίσης και στη διαφορετική ομάδα χρηστών που στοχεύουν οι δύο τεχνολογίες. Επιπλέον, τα δεδομένα OLAP είναι πολυδιάστατα από τη φύση τους. Αυτό σημαίνει, ότι οι υφιστάμενες δομές αποθήκευσης πρέπει να παρέχουν αποδοτική πρόσβαση στα δεδομένα, όταν αυτά αναζητούνται με βάση τις τιμές διάστασης. Δυστυχώς, οι διαχειριστές αποθήκευσης για εγγραφές είναι από τη φύση τους μονοδιάστατοι και δεν μπορούν να προσαρμοστούν καλά σε αυτήν την απαίτηση. Επιπλέον, η θεώρηση του κύβου ως πολυδιάστατο πλέγμα, με τα γεγονότα (facts) να αποτελούν τα σημεία δεδομένων μέσα σε αυτό το πλέγμα, επισημαίνει την ανάγκη για άμεση πρόσβαση στα δεδομένα βάσει της θέσης τους (στον πολυδιάστατο χώρο δεδομένων), με εκμετάλλευση μηχανισμών πρόσβασης βασισμένων στη διεύθυνση των δεδομένων (address-based mechanisms). Το παραπάνω έρχεται σε αντίθεση με την πρόσβαση στα δεδομένα βάσει του περιεχομένου των δεδομένων που συνεπάγεται μηχανισμούς πρόσβασης με αναζήτηση (search-based mechanisms), όπως συμβαίνει στους συνηθισμένους διαχειριστές αποθήκευσης. Τέλος, οι διαστάσεις στο OLAP περιέχουν ιεραρχίες. Οι συνηθισμένοι διαχειριστές αποθήκευσης δεν υποστηρίζουν τις ιεραρχίες ιδιαίτερα. Επιπλέον, η ανάγκη για μικρότερους χρόνους απόκρισης κάνει το ζήτημα της καλής φυσικής συγκέντρωσης των δεδομένων ένα κεντρικό σημείο στη διαχείριση αποθήκευσης. Μερικές φορές, αυτό ενδέχεται να προκαλέσει μια «ακαμψία» στις ενημερώσεις. Παρ όλα αυτά, λαμβάνοντας κανείς υπ όψιν το προφίλ των χαρακτηριστικών φορτίων εργασίας OLAP, συνειδητοποιεί ότι αυτό είναι κάτι αποδεκτό. Συνδυάζοντας τα δύο αυτά, υποστηρίζουμε ότι η συγκέντρωση των

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 80 δεδομένων που επιτυγχάνεται από ένα διαχειριστή αποθήκευσης OLAP πρέπει να εκτελείται με βάση τις ιεραρχίες διάστασης. Σαν τελευταίο σημείο, δεν πρέπει να ξεχάσουμε ότι οι κύβοι OLAP είναι συνήθως πολύ αραιοί. Στην εργασία [Col96] υποστηρίζεται ότι μόνο το 20% του κύβου περιέχει πραγματικά δεδομένα αλλά η εμπειρία μας από πραγματικές εφαρμογές δείχνει ότι πυκνότητες κύβων πολύ λιγότερο από 0,1% είναι κάτι περισσότερο από συνήθεις. Επομένως, είναι επιτακτική ανάγκη για το διαχειριστή αποθήκευσης να αντιμετωπίσει αυτή την αραιότητα και να επιτύχει καλή χρησιμοποίηση του διαθέσιμου χώρου. Η απόκρυψη πληροφορίας (information hiding) και η σχεδίαση βασισμένη σε μονάδες προγράμματος (modular design) αποτελούν βασικές αρχές της τεχνολογίας λογισμικού και ισχύουν και για την υλοποίηση του ΣΙΣΥΦΟΥ. Η βασική αρχιτεκτονική του ΣΙΣΥΦΟΥ έχει βασιστεί σε μια ιεραρχία επιπέδων αφαίρεσης (abstraction levels), όπου το καθένα υλοποιεί ένα συγκεκριμένο στρώμα λειτουργικότητας (functionality layer). Κάθε επίπεδο παίζει το δικό του ρόλο στη διαχείριση αποθήκευσης, με το να αποκρύπτει τις λεπτομέρειες των πιο χαμηλών επιπέδων από τα επίπεδα που βρίσκονται πιο πάνω. Στο Σχήμα 2, απεικονίζονται τα επίπεδα αφαίρεσης που έχουν υλοποιηθεί στο ΣΙΣΥΦΟ. Αυτή η ιεραρχία των επιπέδων έχει δομηθεί επάνω στα αντίστοιχα επίπεδα αφαίρεσης που παρέχονται από το διαχειριστή αποθήκευσης SSM [SSM99]. Στόχος αυτής της ενότητας δεν είναι να καλύψει πλήρως όλες τις λειτουργίες που περιλαμβάνονται στη διεπαφή μεταξύ των διαφορετικών επιπέδων. Ο πρωταρχικός στόχος μας είναι, να παρουσιάσουμε τις βασικές μονάδες-προγράμματος της αρχιτεκτονικής του ΣΙΣΥΦΟΥ και να περιγράψουμε τη πιο σημαντική λειτουργικότητα που προσφέρεται, δίνοντας σε γενικές γραμμές τις παρεχόμενες λειτουργίες. Θα αρχίσουμε την περιγραφή του Σχήματος 2 από κάτω προς τα επάνω. 4.1. Διαχειριστής Αποθήκευσης SHORE Ο διαχειριστής αποθήκευσης SHORE (SSM) παρέχει μια ιεραρχία δομών αποθήκευσης. Μια συσκευή (device) αντιστοιχεί σε ένα χώρισμα στο δίσκο (disk partition) (αφορμάριστη συσκευή-raw device) ή σε ένα αρχείο του λειτουργικού συστήματος που χρησιμοποιείται για την αποθήκευση των δεδομένων. Μια συσκευή περιέχει τόμους (volumes).

0,1%. µ, µ ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ µ ΧΡΟΝΙΚΑ 81 µ. µ 2:. Ένας τόμος είναι μια συλλογή αρχείων και ευρετηρίων, των οποίων η διαχείριση γίνεται ως μια μονάδα. Ένα αρχείο (file) είναι μια συλλογή εγγραφών (records). Μία εγγραφή 10 είναι ένας αποθηκευτικός χώρος bytes (byte container), χωρίς τύπο δεδομένων, που αποτελείται βασικά από μια επικεφαλίδα (header) και ένα σώμα (body). Το σώμα ενός αρχείου είναι η πρωταρχική περιοχή αποθήκευσης δεδομένων και μπορεί να κυμανθεί σε μέγεθος από μηδέν bytes μέχρι 4GΒ. Οι κλήσεις σε λειτουργίες που παρέχονται από τον SSM είναι κρυμμένες μέσα σε μεθόδους άλλων μονάδων «διαχειριστών» που περιγράφονται στη συνέχεια. Σχήμα 2: Τα επίπεδα αφαίρεσης στο διαχειριστή αποθήκευσης ΣΙΣΥΦΟ. Χαρακτηρίζουμε τη δημόσια διεπαφή (public interface) αυτής της μονάδας προγράμματος, ως προσανατολισμένη σε εγγραφές (record-oriented). Οι παρεχόμενες συναρτήσεις καλύπτουν λειτουργίες, όπως η δημιουργία/καταστροφή αρχείων, καθώς επίσης και η εισαγωγή/ενημέρωση/διαγραφή μεμονωμένων εγγραφών.

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 82 4.2. Διαχειριστής Αρχείων Ο πρωταρχικός στόχος του διαχειριστή αρχείων (file manager) του ΣΙΣΥΦΟΥ είναι να κρύβει όλες τις λεπτομέρειες του SSM που έχουν να κάνουν με τη διαχείριση των εγγραφών. Τα πιο υψηλά επίπεδα δεν χρειάζεται να γνωρίζουν τίποτα για συσκευές, τόμους, SSM αρχεία, εγγραφές, κ.λπ. Η αφαίρεση που παρέχεται από αυτήν τη μονάδα-προγράμματος είναι ότι το βασικό σύστημα αρχείων αποτελείται από μια συλλογή κύβων, όπου κάθε κύβος είναι μια συλλογή από κάδους (buckets). Χαρακτηριστικές λειτουργίες που προσφέρονται από αυτή τη μονάδα προγράμματος περιλαμβάνουν τη δημιουργία και την καταστροφή ενός κύβου, επίσης αυτή ενός κάδου, μια λειτουργία ανάγνωσης για να προσκομισθεί ένας συγκεκριμένος κάδος στην κύρια μνήμη, ένα σύνολο λειτουργιών για την ενημέρωση ενός κάδου και τελικά μια λειτουργία για την απαρίθμηση όλων των κάδων ενός κύβου. Επίσης, προσφέρονται λειτουργίες για την υποστήριξη από το σύστημα αρχείων των Διαστάσεων, καθώς και για το χειρισμό των αρχείων όπου αποθηκεύονται Διαστάσεις. 4.3. Διαχειριστής Ενδιάμεσης Μνήμης Το επόμενο επίπεδο αφαίρεσης είναι ο διαχειριστής ενδιάμεσης μνήμης (buffer manager). Η βασική αρμοδιότητα αυτού του επιπέδου είναι να κρύβει όλες τις λεπτομέρειες του συστήματος αρχείων και να δίνει την εντύπωση μιας εικονικής μνήμης, σαν ολόκληρη η βάση δεδομένων να βρισκόταν στην κύρια μνήμη. Αυτή η μονάδα-προγράμματος έχει δομηθεί επάνω στο διαχειριστή ενδιάμεσης μνήμης του SSM (ο οποίος λειτουργεί με σελίδες) και εκμεταλλεύεται τις λειτουργίες του, κρύβοντάς τον παράλληλα από τις υπόλοιπες μονάδες προγράμματος. Ο υφιστάμενος διαχειριστής ενδιάμεσης μνήμης του SSM υλοποιεί μια στρατηγική αντικατάστασης (replacement policy) σελίδων βασισμένη αρκετά στη στρατηγική της ελάχιστης χρησιμοποίησης (LRU) και επίσης συνεργάζεται με το διαχειριστή δοσοληψιών (transaction manager) του SSM, για την καταγραφή των δοσοληψιών στο ημερολόγιο (log) και για τις σχετικές ενέργειες σε περίπτωση ανάκαμψης (recovery). 4.4. Διαχειριστής Πρόσβασης Ο διαχειριστής πρόσβασης (access manager) υλοποιεί τη βασική διεπαφή προς το

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 83 «χρήστη» του ΣΙΣΥΦΟΥ (π.χ. αυτός θα μπορούσε να είναι μια μονάδα προγράμματος που να αντιστοιχεί σε μια μηχανή εκτέλεσης λειτουργιών OLAP). Η σημαντικότερη αρμοδιότητα του διαχειριστή πρόσβασης είναι να παρέχει πρόσβαση στα δεδομένα των κύβων και των Διαστάσεων. Προσφέρει λειτουργίες που επιτρέπουν μια απρόσκοπτη πλοήγηση στον πολυδιάστατο και πολυεπίπεδο χώρο ενός ιεραρχικά κατατετμημένου κύβου. Μια άλλη ευθύνη του διαχειριστή πρόσβασης είναι η διαχείριση του συστήματος αρχείων που βασίζεται σε τεμάχια (δηλαδή του Αρχείου ΚΥΒΟΥ). Παρέχει λειτουργίες για το αρχικό φόρτωμα και το κτίσιμο ενός Αρχείου ΚΥΒΟΥ καθώς και μια διεπαφή για τις βασικές λειτουργίες συντήρησης στο Αρχείο ΚΥΒΟΥ. Παίζοντας το ρόλο του κεντρικού σημείου πρόσβασης στα δεδομένα που αποθηκεύονται και είναι αντικείμενο διαχείρισης από το ΣΙΣΥΦΟ, ο διαχειριστής πρόσβασης παρέχει επίσης μια διεπαφή πρόσβασης και σε άλλες δομές, όχι απαραιτήτως δομές που αποθηκεύουν τα δεδομένα κύβων. Παραδείγματος χάριν, παρέχει μια διεπαφή πρόσβασης και σε άλλες βοηθητικές δομές αποθήκευσης, όπως είναι τα Β+δένδρα και τα αρχεία εγγραφών (files of records). Η διεπαφή για τη διαχείριση και την επεξεργασία των δεδομένων Διαστάσεων, θα πρέπει να τοποθετηθεί στο Διαχειριστή Πρόσβασης. 4.5. Διαχειριστής Καταλόγου Ο διαχειριστής καταλόγου (catalog manager) (αυτή η μονάδα-προγράμματος δεν απεικονίζεται στο Σχήμα 2) υλοποιεί τις βασικές υπηρεσίες καταλόγου μιας βάσης δεδομένων στο ΣΙΣΥΦΟ. Κατά την εκκίνησή του, ο διαχειριστής καταλόγου δημιουργεί τη δομή καταλόγου, η οποία καταγράφει τα αντικείμενα μέσα σε έναν τόμο SSM. Ουσιαστικά αυτή η δομή αποτελείται από μερικά SSM αρχεία, που αποθηκεύουν εγγραφές μεταδεδομένων (metadata) και συνοδεύονται από κατάλληλα ευρετήρια Β+δένδρων, για γρήγορη πρόσβαση σε αυτά τα μεταδεδομένα. Παρέχει λειτουργίες για την καταχώριση και την αφαίρεση αντικειμένων από τον κατάλογο του ΣΙΣΥΦΟΥ. Στην πραγματικότητα υπάρχουν δύο κατάλογοι που διατηρούνται από το διαχειριστή καταλόγου: (α) ο κατάλογος πολυδιάστατων και ο (β) κατάλογος σχεσιακών μεταδεδομένων. Ο πρώτος καταγράφει τις πολυδιάστατες οντότητες, δηλαδή τους κύβους και τις Διαστάσεις, ενώ ο δεύτερος αποθηκεύει μεταδεδομένα για Β+δένδρα και για απλά αρχεία εγγραφών.

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 84 4.6. Διαχειριστής Συστήματος Τέλος, υπάρχει κι ο διαχειριστής συστήματος (system manager) (επίσης δεν απεικονίζεται στο Σχήμα 2), ο οποίος είναι υπεύθυνος για τη γενική διαχείριση του συστήματος. Κατά την εκκίνηση του συστήματος, αναρτά (mounts) την κατάλληλη συσκευή με τόμους, και εάν του ζητηθεί φορμάρει (formats) τη συσκευή, καθώς επίσης και αρχικοποιεί τον κατάλογο τόμου (volume directory) (ένα Β+δένδρο που καταγράφει τα περιεχόμενα ενός τόμου SSM). Επίσης, στην περίπτωση μιας προηγούμενης αποτυχίας του συστήματος (system crash) εκτελεί ανάκαμψη (recovery) βασισμένη σε ένα ημερολόγιο ΜΕ- ΑΝΑΙΡΕΣΗ/ΜΕ-ΕΠΑΝΑΛΗΨΗ (UNDO/REDO log). Όλα αυτά υλοποιούνται με κατάλληλες κλήσεις στην υφιστάμενη μονάδα-προγράμματος SSM. Στην πραγματικότητα ο διαχειριστής συστήματος ενθυλακώνει (encapsulates) ένα στιγμιότυπο του SSM, έτσι ώστε να επιτρέπει τη πρόσβαση στη λειτουργικότητα που αυτό προσφέρει. 5. ΥΠΟΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΑΣΤΑΣΕΩΝ Για την καλύτερη ενσωμάτωση των Διαστάσεων στο σύστημα, επιλέξαμε να μην υλοποιήσουμε την υποστήριξη των Διαστάσεων ως μια μοναδική αυτόνομη μονάδα διαχείρισης και αποθήκευσης των Διαστάσεων. Αυτό θα συνεπαγόταν την ύπαρξη δύο παράλληλων μονάδων στην αρχιτεκτονική του ΕΡΑΤΟΣΘΕΝΗ (δείτε Σχήμα 1), με στόχο τη διαχείριση της αποθήκευσης: μια για τη διαχείριση των Διαστάσεων και μια (ο ΣΙΣΥΦΟΣ) για τη διαχείριση του Αρχείου ΚΥΒΟΥ και όλων των υπόλοιπων δεδομένων του συστήματος. Το ανωτέρω αποτελεί σχεδιαστική ανωμαλία, καθώς οι μονάδες προγράμματος που θα έπρεπε να επικοινωνήσουν με το Διαχειριστή Αποθήκευσης του συστήματος, θα έπρεπε να γνωρίζουν την ύπαρξη των δύο διαφορετικών Διαχειριστών Αποθήκευσης και των λειτουργιών που επιτελούν και, επίσης, θα έπρεπε να δημιουργηθούν ειδικές διεπαφές για την επικοινωνία μεταξύ των δύο Διαχειριστών Αποθήκευσης. Αντίθετα, η υποστήριξη Διαστάσεων στον ΕΡΑΤΟΣΘΕΝΗ υλοποιήθηκε με τη διαίρεσή της (υποστήριξης) σε ορισμένες κατηγορίες λειτουργιών, οι οποίες με τη σειρά τους ενσωματώθηκαν στις υπάρχουσες μονάδες του Διαχειριστή Αποθήκευσης ΣΙΣΥΦΟΣ. Με αυτόν τον τρόπο η ενσωμάτωση των Διαστάσεων στο σύστημα δεν αλλάζει την αρχιτεκτονική του και συγχρόνως, διατηρώντας τις ομάδες λειτουργιών ανεξάρτητες από τη

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 85 μονάδα στην οποία εντάσσονται και με δική τους διεπαφή προς το υπόλοιπο σύστημα, η υλοποίηση των Διαστάσεων παραμένει αυτόνομη. Έτσι, αντί για μία αυτόνομη μονάδα προγράμματος, υλοποιήθηκε ένα σύνολο από ομάδες λειτουργιών, που ενσωματώθηκαν στις υπάρχουσες μονάδες του ΣΙΣΥΦΟΥ, και οι οποίες είναι στενά συνδεδεμένες μεταξύ τους και ανεξάρτητες από την υπόλοιπη υλοποίηση, σε τέτοιο βαθμό ώστε σε πιθανή αλλαγή της αρχιτεκτονικής του υπόλοιπου συστήματος, να μπορούν να αποτελέσουν μια αυτόνομη μονάδα. Catalog Manager µ.. µ µ. µ µ µ ID. Access Manager µ. (bulk load) µ µ. (incremental load) µ µ. / µ. µ µ µ. File Manager µ µ Σχήμα 3: 3: Βασικές λειτουργίες Διαστάσεων. Στο µ Σχήμα 3 παρουσιάζονται οι βασικές λειτουργίες µ χειρισμού Διαστάσεων και οι μονάδες προγράμματος του ΣΙΣΥΦΟΥ στις οποίες βρίσκονται. Καθώς τα μεταδεδομένα στον µ µµ. µ µ ΕΡΑΤΟΣΘΕΝΗ (catalog manager), είναι υπευθυνότητα µ του Διαχειριστή µ Καταλόγου (catalog manager), στην συγκεκριμένη μονάδα εντάσσονται οι λειτουργίες για την καταχώριση µ των Διαστάσεων µ µ. (access manager) και όλες οι λειτουργίες χειρισμού των μεταδεδομένων Διαστάσεων. Στο Διαχειριστή Πρόσβασης (access manager) υλοποιούνται οι βασικές διεπαφές για το χειρισμό των διαστά- µ µ σεων µ από τις υπόλοιπες µ μονάδες. του ΕΡΑΤΟΣΘΕΝΗ, καθώς και οι βασικές λειτουργίες (file για manager) µ µ, το χειρισμό των δεδομένων Διαστάσεων. Τέλος, στο Διαχειριστή Αρχείων (file manager). µ µ µ, µ µ, µ,. µ

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 86 προστίθενται λειτουργίες για τη δημιουργία και το χειρισμό αρχείων, τα οποία προορίζονται για την αποθήκευση Διαστάσεων. Ιδιαίτερη προσοχή δόθηκε στο σχεδιασμό των μεταδεδομένων των Διαστάσεων, καθώς επηρεάζουν τον τρόπο με τον οποίο αντιλαμβάνονται, τόσο οι χρήστες όσο και το σύστημα, τις Διαστάσεις. Μια Διάσταση μοντελοποιείται ως ένα σύνολο από συναθροιστικά επίπεδα, τα οποία ομαδοποιούνται σχηματίζοντας ιεραρχίες. Η υλοποίηση έγινε με τέτοιο τρόπο ώστε να υποστηρίζονται πολλαπλές ιεραρχίες, οι οποίες μπορεί να μην έχουν ακόμα και κανένα κοινό επίπεδο μεταξύ τους. Μια από τις ιεραρχίες ορίζεται ως η πρωτεύουσα ιεραρχία, η οποία χρησιμοποιείται άμεσα από τη δομή του αρχείου ΚΥΒΟΥ. Μια ιεραρχία ορίζεται ως μια ολική ταξινόμηση (total ordering) ενός αριθμού από συναθροιστικά επίπεδα. Τα συναθροιστικά επίπεδα έχουν τα δικά τους μεταδεδομένα και αποτελούν αυτόνομες οντότητες του συστήματος. Αυτό επιτρέπει την οικονομικότερη (από πλευράς χώρου) συμμετοχή ενός επιπέδου σε πολλές ιεραρχίες, καθόσον υπάρχει μόνο ένα πραγματικό αντίγραφό του και δείκτες σε αυτό. Τέλος, η φυσική αναπαράσταση για την αποθήκευση των μεταδεδομένων και των δεδομένων Διαστάσεων, σχεδιάστηκε και υλοποιήθηκε με τέτοιο τρόπο ώστε, εκτός από τις βασικές λειτουργίες αποθήκευσης και ανάγνωσης δεδομένων από το δίσκο, να υποστηρίζεται η δυνατότητα αλλαγής των μεταδεδομένων των Διαστάσεων (slowly changing dimensions), με την πρόσθεση νέων πεδίων σε ένα επίπεδο, νέων επιπέδων σε μία ιεραρχία (εκτός της πρωτεύουσας), ακόμα και ολόκληρων καινούργιων ιεραρχιών. 6. ΕΠΙΛΟΓΟΣ Αντικείμενο της εργασίας αυτής ήταν η παρουσίαση της σχεδίασης και υλοποίησης ενός πρωτότυπου συστήματος OLAP, το οποίο ενσωματώνει νέες τεχνικές αποθήκευσης και επεξεργασίας πολυδιάστατων δεδομένων και ανταποκρίνεται στις εξειδικευμένες απαιτήσεις των OLAP εφαρμογών. Η συμβολή μας, σε σχέση με αυτό το στόχο, συνοψίζεται ως εξής: Παρουσιάσαμε τη συνολική αρχιτεκτονική και σχεδίαση του πρωτότυπου συστήματος OLAP ΕΡΑΤΟΣΘΕΝΗΣ. Μεταξύ άλλων, η εν λόγω αρχιτεκτονική δείχνει με σαφήνεια το χτίσιμο ενός εξυπηρετητή OLAP πάνω σε ένα διαχειριστή αποθήκευσης, ως έναν

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 87 εξυπηρετητή προστιθέμενης αξίας (value added server), αποτελούμενου από όλα τα τμήματα ενός σύγχρονου συστήματος διαχείρισης βάσεων δεδομένων. Στη συνέχεια, παρουσιάσαμε την υλοποίηση του διαχειριστή αποθήκευσης του συστήματος, το ΣΙΣΥΦΟ. Ο ΣΙΣΥΦΟΣ υιοθετεί το Αρχείο ΚΥΒΟΥ ως την πρωτεύουσα οργάνωση αρχείου για την αποθήκευση ενός κύβου και αποτελεί ένα σύστημα που σκοπό έχει να εκπληρώσει απαιτήσεις, σχετικά με τη διαχείριση αποθήκευσης σε περιβάλλοντα OLAP, οι οποίες δεν ικανοποιούνται από συμβατικούς διαχειριστές αποθήκευσης. Τέλος, παρουσιάσαμε το υποσύστημα διαχείρισης Διαστάσεων που υποστηρίζει όλες τις βασικές λειτουργίες που απαιτούνται σε ένα Σύστημα Διαχείρισης Βάσεων Δεδομένων που χρησιμοποιείται για OLAP, όπως ορισμός καινούργιων Διαστάσεων, δημιουργία και διαχείριση των μεταδεδομένων τους, φυσική αποθήκευση και ανάγνωση των δεδομένων μίας Διάστασης, μαζική και αυξητική εισαγωγή δεδομένων σε μία Διάσταση, αποτίμηση όλων των δυνατών περιορισμών σε μία Διάσταση καθώς και δυνατότητα σύζευξης με μία Διάσταση. Κλείνοντας, αξίζει να σημειωθεί ότι το σύστημα αυτό χρησιμοποιήθηκε για την αποθήκευση πολύ μεγάλου όγκου δεδομένων πωλήσεων μιας αλυσίδας καταστημάτων ηλεκτρικών ειδών στην Ελλάδα με πολύ καλά αποτελέσματα απόδοσης, συγκρινόμενο με άλλα εμπορικά συστήματα. Ως βασικότερο παράγοντα αυτής της αυξημένης απόδοσης εντοπίσαμε το γεγονός ότι στον ΕΡΑΤΟΣΘΕΝΗ τα δεδομένα αποθηκεύονται συγκεντρωμένα (clustered) σύμφωνα με τις ιεραρχίες των διαστάσεων και ως εκ τούτου το κόστος I/O κατά τη φάση της αποτίμησης επερωτήσεων με ιεραρχικούς περιορισμούς ήταν σημαντικά μειωμένο.

ΣΕΠΤΕΜΒΡΙΟΣ-ΟΚΤΩΒΡΙΟΣ 2003 ΤΕΧΝΙΚΑ ΧΡΟΝΙΚΑ 88 7. ΒΙΒΛΙΟΓΡΑΦΙΑ [ChaDa96] [Col96] [Gray93] [Καρ03] [KDB03] [KS01] [KS03] Surajit Chaudhuri and Umeshwar Dayal, An Overview of Data Warehousing and OLAP Technology, 1996. G. Colliat, Olap relational and multidimensional database systems, in: SIGMOD Record, 25(3) (September 1996) 64-69. J. Gray, A. Reuter, Transaction Processing: Concepts and Techniques (Morgan Kaufmann, 1993). Ν. Καραγιαννίδης, «Δομές Αποθήκευσης, Επεξεργασία Επερωτήσεων και Υλοποίηση Συστημάτων Άμεσης Αναλυτικής Επεξεργασίας Δεδομένων.» Διδακτορική Διατριβή, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Εθνικό Μετσόβιο Πολυτεχνείο, 2003. Knowledge and Database Systems laboratory at the National Technical University of Athens (NTUA), dept. of Electrical and Computer Engineering, Computer Science division. http:// www.dblab.ece.ntua.gr. N. Karayannidis, and T. Sellis, SISYPHUS: A Chunk-Based Storage Manager for OLAP Cubes, Proceedings of the 3rd International Workshop on Design and Management of Data Warehouses (DMDW 2001), Interlaken, Switzerland, June 2001. N. Karayannidis and T. Sellis: SISYPHUS: The Implementation of a Chunk-Based Storage Manager for OLAP Data Cubes, Data and Knowledge Engineering, Volume 45, Issue 2, May 2003, Pages 155-180, Advances in online analytical processing, Elsevier Science Ltd. [KTS+02] N. Karayannidis, A. Tsois, T. Sellis, R. Pieringer, V. Markl, F. Ramsak, R. Fenk, K. Elhardt, and R. Bayer: Processing Star Queries on Hierarchically-Clustered Fact-Tables, in: Proc. VLDB 2002 Hong Kong, China. [LNX02] [SSM99] [STR97] [Inm92]- The Linux Operating System 2002, διαθέσιμο στο: http:// www.linux.org. The Shore Project Group. The Shore Storage Manager Programming Interface. CS Dept., Univ. of Wisconsin- Madison, 1999. Available at: ftp://ftp.cs.wisc.edu/shore/current/ssmapi.pdf. B. Stroustrup. The C++ Programming Language (3rd edition). Addison Wesley Longman, Reading, MA. 1997. Inmon, W.H., Building the Data Warehouse. John Wiley, 1992.