Φυσική Οργάνωση Βάσεων Δεδομένων 11 Φυσική Οργάνωση Βάσεων Δεδομένων Τύποι Εγγραφών Τύποι Σελίδων Ομαδοποίηση Εγγραφών Διαχείριση Χώρου Δίσκου Διαχείριση Απομονωτικής Μνήμης
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Ανεπάρκειες Λειτουργικών Συστημάτων Σε συστήματα των 32 bit, το μεγαλύτερο μέγεθος αρχείου είναι 4 Gb O τρόπος οργάνωσης των αρχείων εξαρτάται από το Λειτουργικό Σύστημα Προσαρμογή των ΣΔΒΔ ως προς τις ιδιαιτερότητες του κάθε Λειτουργικoύ Συστήματος.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Τμήματα του ΣΔΒΔ σχετικά με τη φυσική οργάνωση των δεδομένων Διαχειριστής Αρχείων Διαχειριστής Μνήμης Απομόνωσης Διαχειριστής Χώρου Δίσκου Αποθηκευμένα δεδομένα
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Τμήματα του ΣΔΒΔ σχετικά με τη φυσική οργάνωση των δεδομένων Ο Διαχειριστής Χώρου Δίσκου είναι το υπεύθυνο λογισμικό για την ανάγνωση και την αποθήκευση σελίδων στο δίσκο. Ο Διαχειριστής Μνήμης Απομόνωσης είναι το υπεύθυνο λογισμικό για την κατάτμηση της κύριας μνήμης σε κατάλληλα τμήματα ώστε τα περιεχόμενα των σελίδων να αποθηκεύονται προσωρινά από το δίσκο. O Διαχειριστής Αρχείων είναι ένα σύνολο προγραμμά-των που υλοποιούν διάφορες δομές αρχείων και επίσης είναι υπεύθυνος για την τακτοποίηση των εγγραφών.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αρχιτεκτονική ενός υπολογιστικού συστήματος Η επικοινωνία μεταξύ της κύριας μνήμης και των βραδύτερων δευτερευουσών μνημών γίνεται: στα μεγάλα συστήματα με το κανάλι (channel), στα μικρά συστήματα με το δίαυλο (bus) δεδομένων. Σκοπός είναι η εξομάλυνση του ρυθμού μεταφοράς δεδομένων.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αρχιτεκτονική ενός υπολογιστικού συστήματος Το κανάλι έχει δική του μνήμη, ενώ η βασική του λειτουργία είναι η μετατροπή των λέξεων της κύριας μνήμης σε bytes και το αντίστροφο. Υπάρχουν δύο ειδών κανάλια: Επιλεκτικό κανάλι που εκτελεί πλήρως το πρόγραμμα που αφορά μια συσκευή πριν να αρχίσει να εκτελεί το πρόγραμμα μιας άλλης. Πολυπλεκτικό κανάλι που εκτελεί ταυτόχρονα τα προγράμματα πολλών δευτερευουσών συσκευών.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αρχιτεκτονική ενός υπολογιστικού συστήματος
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Τύποι εγγραφών Η γραφική παράσταση της οργάνωσης των πεδίων μιας εγγραφής λέγεται γραμμογράφηση (layout). Οι εγγραφές μιας οντότητας έχουν ίδια μορφή και λέγονται εγγραφές σταθερού μήκους. Στα σχεσιακά μοντέλα καθώς και στα αντικειμε-νοστραφή συστήματα προκύπτουν εγγραφές μεταβλητού μήκους.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Πλεονεκτήματα εγγραφών μεταβλητού μήκους Τα πλεονεκτήματα ως προς την αποθήκευση είναι ιδιαίτερα σημαντικά όταν: υπάρχει μεγάλη απόκλιση των μηκών των εγγραφών από το μέσο μήκος εγγραφής, τα αρχεία είναι ογκώδη, είναι μεγάλη η συχνότητα χρήσης, το υλικό είναι ακριβό.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Η μεταβλητότητα των εγγραφών οφείλεται σε πεδία μεταβλητού μήκους συμβολοσειρές, όπως ονόματα, διευθύνσεις κλπ εγγραφές διαφορετικής μορφής επαναλαμβανόμενες ομάδων πεδίων Πχ. εγγραφή υπαλλήλου με δύο ή τρία παιδιά
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση εγγραφών μεταβλητού μήκους Χρήση ειδικών διαχωριστών Με χρήση ενός μικρού καταλόγου στην αρχή της εγγραφής όπου για κάθε πεδίο αποθηκεύεται η απόστασή του από την αρχή της εγγραφής
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Πλεονεκτήματα χρήσης καταλόγου (2η προσέγγιση) Απαιτεί περισσότερο χώρο αλλά είναι χρονικά αποτελεσματικότερη γιατί προσφέρει άμεση προσπέλαση κάθε πεδίου Δεν απαιτείται η αποθήκευση συγκεκριμένου συμβόλου για την τιμή NULL κάποιου πεδίου, αλλά απλώς η απόσταση του επόμενου πεδίου είναι ίση με την απόσταση του συγκεκριμένου πεδίου.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Μειονεκτήματα διαχείρισης εγγραφών μεταβλητού μήκους Το κυριότερο πρόβλημα είναι η αύξηση του μεγέθους της εγγραφής κατά την ενημέρωση ενός πεδίου, οπότε αυτό μπορεί να προκαλέσει: την ανάγκη τακτοποίησης του περιεχομένου της σελίδας με την κατάλληλη μετακίνηση (shifting) μερικών εγγραφών. την ανάγκη αποθήκευσης της συγκεκριμένης εγγραφής σε άλλη σελίδα λόγω ανεπάρκειας χώρου. αν η εγγραφή μετακινηθεί, τότε στη θέση της αποθηκεύεται η νέα διεύθυνση ώστε να μη χαθούν δεδομένα.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Οργάνωση σελίδων Κάθε σελίδα έχει επικεφαλίδα (page header), που περιέχει σημαντικές πληροφορίες, όπως αριθμός αποθηκευμένων εγγραφών στη σελίδα, διεύθυνση επόμενης σελίδας του αρχείου κλπ. Μία σελίδα είναι ένα σύνολο θέσεων (slots) για την αποθήκευση των εγγραφών. Κάθε εγγραφή μπορεί να χαρακτηρισθεί από το σύστημα με ένα μοναδικό κωδικό εγγραφής (record identifyer - rid), που αποτελείται από το ζεύγος <κωδικός σελίδας, αριθμός θέσης> (<page id, slot number>).
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εγγραφές σταθερού μήκους σε σελίδες Υπάρχουν δύο εύκολες λύσεις για τον εντοπισμό των εγγραφών μέσα στη σελίδα 1η λύση: οι εγγραφές αποθηκεύο-νται στις πρώτες διαθέσιμες θέσεις της σελίδας, οπότε είναι εύκολος ο υπολογισμός των αποστάσεων (offsets). Σε περί-πτωση διαγραφής η τελευταία εγγραφή κατάλαμβάνει τη θέση της διαγραφείσας.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εγγραφές σταθερού μήκους σε σελίδες Μειονέκτημα: αν υπάρχουν αλυσίδες εγγραφών, και μία εγγραφή εκτός της συγκεκριμένης σελίδας δείχνει προς τη θέση της τελευταίας εγγραφής, τότε αυτή δεν μπορεί να μετακινηθεί 2η λύση: Αποθηκεύεται στην επικε-φαλίδα ένας δυαδικός πίνακας με σημαίες που δηλώνουν αν μία θέση είναι κατειλημμένη ή όχι. Κατά την αναζήτηση εξετάζονται μόνο οι θέσεις με αληθείς σημαίες, ενώ η αντίστοιχη σημαία καθίσταται ψευδής κατά τη διαγραφή.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εγγραφές μεταβλητού μήκους σε σελίδες Προβλήματα δημιουργούνται και στην εισαγωγή μιας εγγραφής όπου θα πρέπει να καταλάβει κάποιο “κατάλληλο” κενό χώρο (κάνοντας έξυπνη χρήση του κενού χώρου) και στη διαγραφή μιας εγγραφής γιατί οι υπόλοιπες θα πρέπει να μετακινηθούν ώστε ο κενός χώρος να είναι ενοποιημένος.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εγγραφές μεταβλητού μήκους σε σελίδες 1η λύση: Ένας κατάλογος θέσεων (directory of slots), ή πίνακας τοποθέτησης (position table) στην επι-κεφαλίδα της σελίδας περιέχει για κάθε εγγραφή το ζεύγος <απόσταση εγγραφής, μήκος εγγραφής>. Επιπλέον, υπάρχει ένας δείκτης προς την αρχή της σελίδας από όπου αρχίζει η περιοχή αποθήκευσης των εγγραφών, καθώς και ένας δείκτης προς την αρχή της ενοποιημένης περιοχής που είναι ελεύθερη και διαθέσιμη για αποθήκευση νέων εγγραφών.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εγγραφές μεταβλητού μήκους σε σελίδες 2η λύση: Ο κατάλογος δεν περιέχει ζεύγη <απόσταση εγγραφής, μήκος εγγραφής> αλλά μόνο την <απόσταση εγγραφής> , ενώ η ένδειξη μήκους (length indicator) τοποθετείται στην αρχή της αντίστοιχης εγγραφής. Έτσι, διευκολύνεται η υπέρβαση μίας εγγραφής σε περίπτωση αναζήτησης.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Ομαδοποίηση εγγραφών Υποθέτουμε ότι μονάδα αποθήκευσης είναι ο σκληρός δίσκος, η εγγραφή είναι η ελάχιστη λογική μονάδα διακίνησης πληροφορίας, η σελίδα είναι το ελάχιστο φυσικό ποσό δεδομένων που μεταφέρεται μεταξύ του δίσκου και της κύριας μνήμης.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Ομαδοποίηση εγγραφών Παράγοντας ομαδοποίησης (blocking factor - Bfr) είναι ο αριθμός των εγγραφών που χωρούν σε μία σελίδα. Αν υποτεθεί ότι αμελητέο μέγεθος επικεφαλίδας της σελίδας και ότι οι εγγραφές είναι σταθερού μήκους, τότε ο παράγοντας ομαδοποίησης ισούται με: όπου: Β είναι το μέγεθος της σελίδας, R είναι το μέγεθος της εγγραφής
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Ομαδοποίηση εγγραφών Αν οι εγγραφές είναι μεταβλητού μήκους, τότε η μεταβλητή R συμβολίζει το μέσο μήκος των εγγραφών. Προσεγγιστικά, ο μέσος κενός χώρος ισούται με το μισό της μέσης εγγραφής , οπότε ο παράγοντας ομαδοποίησης γίνεται:
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Ομαδοποίηση εγγραφών Αν n είναι το πλήθος των εγγραφών, τότε ο αριθμός των σελίδων του αρχείου είναι: Αν οι κεφαλές είναι τοποθετημένες στην αρχή της σελίδας, τότε ο χρόνος μεταφοράς της σελίδας ισούται με: όπου t είναι ταχύτητα διακίνησης των δεδομένων μεταξύ δίσκου και μνήμης και μετράται με bytes/ms. Αν (αντί σελίδας) θεωρηθεί μία άτρακτος Τ, τότε ο χρόνος μεταφοράς ισούται με: όπου r είναι ο μέσος χρόνος περιστροφής.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Οργάνωση σκληρού δίσκου Στο σκληρό δίσκο απαιτείται κάποια οργάνωση με σκοπό το συγχρονισμό κατά τη λειτουργία του και επομένως τη μείωση του λανθάνοντα περιστροφικού χρόνου. Στην πράξη συναντώνται δύο τρόποι για την οργάνωση ενός δίσκου: η ύπαρξη των κενών μεταξύ των σελίδων, και η χρήση της τεχνικής της παρεμβολής (interleaving) που επιτυγχάνει καλύτερους χρόνους προσπέλασης αλλά είναι σχετικά περίπλοκη.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Τεχνική παρεμβολής Η τεχνική της παρεμβολής είναι αναγκαία επειδή ο ελεγκτής του δίσκου απαιτεί κάποιο χρόνο επεξεργασίας των δεδομένων που δέχεται από το δίσκο, προτού μπορέσει να δεχθεί άλλα δεδομένα. Έτσι, αν η λογικά επόμενη σελίδα τοποθετούνταν στον φυσικά επόμενο τομέα, τότε θα έπρεπε να γίνει μία πλήρης περιστροφή του δίσκου, ώστε να εντοπισθεί η αρχή της επόμενης σελίδας.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Τεχνική παρεμβολής Έστω ότι πρέπει να αποθηκευθούν 10 σελίδες ενός αρχείου στους 10 τομείς μίας ατράκτου. Επίσης, ας υποτεθεί ότι ο ελεγκτής απαιτεί διπλάσιο χρόνο από το χρόνο που απαιτείται για την προσπέλαση του επόμενου τομέα.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Τεχνική παρεμβολής Στο συγκεκριμένο παράδειγμα αρκούν τρεις περιστροφές για την ανάγνωση όλων των τομέων της ατράκτου, ενώ θα χρειαζόταν δέκα περιστροφές αν δεν χρησιμοποιούνταν η τεχνική αυτή. Τα τελευταία χρόνια οι ταχύτητες των ελεγκτών έχουν βελτιωθεί σημαντικά. Έτσι αναφέρεται από τους κατασκευαστές δίσκων ότι ο λόγος παρεμβολής είναι 1:1, που σημαίνει ότι η λογική σειρά των τομέων ταυτίζεται με τη φυσική σειρά τους.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Πραγματικός χρόνος μεταφοράς σελίδας Όταν οι δίσκοι είναι φορμαρισμένοι με τη μέθοδο των κενών, τότε θεωρούμε μια καινούργια μεταβλητή που ονομάζεται πραγματικός χρόνος μεταφοράς σελίδας (effective block transfer time) και ισούται με: όπου t' είναι η ταχύτητα διακίνησης δεδομένων από φορμαρισμένο δίσκο στη μνήμη και μετράται επίσης με bytes/ms.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Παράμετροι και τιμές του ΙΒΜ 3380
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Ταχύτητα ανάγνωσης Η σειριακή ανάγνωση αρχείου απαιτεί χρόνο: Η τυχαία ανάγνωση όλων των σελίδων ενός αρχείου απαιτεί χρόνο: όπου b είναι το μέγεθος του αρχείου σε σελίδες, s είναι ο μέσος χρόνος αναζήτησης σε ms, r είναι ο μέσος χρόνος περιστροφής σε ms., ενώ θεωρείται αμελητέο το μέγεθος της επικεφαλίδας, και υποτίθεται ότι οι εγγραφές έχουν σταθερό μήκος.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Είναι χρήσιμο ένα σύνολο σελίδων του αρχείου να αποθηκευθεί σε διαδοχικές ατράκτους του δίσκου, ώστε η σειριακή ανάκτησή τους να γίνεται αποτελεσματικά. Το φαινόμενο της ύπαρξης κενού χώρου σε κάθε σελίδα ονομάζεται εσωτερική τμηματοποίηση. To πλήθος των σελίδων περιορίζεται από το μέγεθος της απομονωτικής μνήμης, και αποτελεί το λεγόμενο κάδο (bucket) που είναι η λογική μονάδα προσπέλασης στο δίσκο.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου H εκλογή του κατάλληλου μεγέθους κάδου είναι σημαντική για τη βελτιστοποίηση της χρήσης του χώρου του δίσκου. Έστω ότι το μέγεθος εγγραφής είναι 160 bytes, ενώ το μέγεθος της σελίδας είναι 256 bytes οι εγγραφές αποθηκεύονται εν μέρει σε δύο σελίδες (αυξημένο κόστος προσπέλασης), κάθε εγγραφή αποθηκεύεται σε μια σελίδα (αυξημένο κόστος σε χώρο λόγω ύπαρξης κενού χώρου).
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Το ποσοστό χρησιμοποίησης του χώρου δίδεται από: όπου Ppb είναι ο αριθμός των σελίδων ανά κάδο και S είναι το μέγεθος του τομέα σε bytes.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Χρόνος αναζήτησης (seek), Tseek: μετακίνηση των κεφαλών επάνω από την κατάλληλη τροχιά. Χρόνος περιστροφικής καθυστέρησης (rotational latency), Trot: αναμονή μέχρι ο κατάλληλος τομέας περάσει κάτω από την κεφαλή. Χρόνος Μεταφοράς (transfer) δεδομένων, Ttrans: η κεφαλή διαβάζει ή γράφει δεδομένα. Για το χρόνο προσπέλασης (access) ισχύει: Ttotal = Tseek + Τrot + Τtrans
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Αν η κλήση θεωρηθεί ότι γίνεται με βάση τον κάδο, τότε ο χρόνος σειριακής ανάγνωσης ενός αρχείου ισούται με: όπου bk είναι ο αριθμός των κάδων του αρχείου και dtt είναι ο χρόνος μεταφοράς δεδομένων O χρόνος τυχαίας ανάγνωσης του αρχείου είναι: θεωρείται αμελητέο το μέγεθος της επικεφαλίδας υποτίθεται ότι οι εγγραφές έχουν σταθερό μήκος.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Η αλλαγή του μεγέθους του κάδου δεν επιδρά στην ταχύτητα της σειριακής ανάγνωσης Η αύξηση του μεγέθους του κάδου αυξάνει την ταχύτητα της τυχαίας προσπέλασης του αρχείου με βάση τον κάδο, ενώ μειώνει την ταχύτητα της τυχαίας προσπέλασης του αρχείου με βάση την εγγραφή
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Αν η κλήση γίνεται με βάση τις εγγραφές, τότε ο αντίστοιχος τύπος είναι: Για την προσπέλαση μιας εγγραφής πρέπει να μεταφερθεί στην κύρια μνήμη ένας ολόκληρος κάδος αντί μιας ή δύο σελίδων
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Αν η επεξεργασία του αρχείου γίνεται κυρίως κατά τυχαίο τρόπο, τότε δεν συμφέρει να ομαδοποιούνται πολλές σελίδες σε έναν κάδο. Η εκλογή του κατάλληλου αριθμού σελίδων ανά κάδο είναι ένα πολυδιάστατο πρόβλημα.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Ο διαχειριστής πρέπει να γνωρίζει ποιες σελίδες είναι κατειλημμένες και ποιες ελεύθερες. Υπάρχουν δύο τεχνικές: με χρήση μία λίστας για τις διευθύνσεις των ελεύθερων σελίδων, όπως γίνεται με τη συλλογή σκουπιδιών (garbage collection) από ένα λειτουργικό σύστημα, ή με χρήση ενός δυαδικού πίνακα, όπου τα 1 και 0 αντιστοιχούν στις κατειλημμένες και στις ελεύθερες σελίδες, αντίστοιχα.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Η τμηματοποίηση του δίσκου είναι η διαδικασία κατά την οποία υπάρχει συνολικά ελεύθερος χώρος όμως είναι μη πρακτικά εκμεταλλεύσιμος. Τα αρχεία χωρίζονται σε εκτάσεις (extents) όπου κάθε έκταση καταλαμβάνει ένα συγκεκριμένο μέρος του δίσκου οι εκτάσεις είναι ισομεγέθεις και ποικίλουν σε πλήθος από μία μέχρι μερικές δεκάδες.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση χώρου δίσκου Είναι πολύ αποτελεσματικό από άποψη παραλληλισμού τα μεγάλα αρχεία να επιμερίζονται σε εκτάσεις που αποθηκεύονται σε διαφορετικούς δίσκους. Η κατανομή αυτή λέγεται ζεύξη ή σύνδεση (spanning). Μία εισαγόμενη εγγραφή μπορεί να μη χωρά σε κάποια έκταση. Τότε το σύστημα παραχωρεί στο αρχείο μία επιπλέον έκταση με τρόπο αδιαφανή για το χρήστη. Ακόμη, το σύστημα μπορεί μία άδεια έκταση να τη διαθέσει σε κάποιο άλλο αρχείο.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Ο σκοπός των απομονωτικών μνημών (buffer memories) είναι η ομαλοποίηση της ροής των δεδομένων μεταξύ της γρήγορης κύριας μνήμης και των βραδύτερων περιφερειακών συσκευών, και γενικά διακρίνονται σε δύο τύπους: τις υλικές (hardware buffers), που χρησιμοποιούνται ευρύτατα για τη διαχείριση των ιδιαίτερα αργών περιφερειακών συσκευών, και τις λογισμικές (software buffers), που είναι τμήματα της κύριας μνήμης.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Σκοπός των απομονωτικών (buffer) μνημών είναι η ομαλοποίηση της ροής των δεδομένων μεταξύ της γρήγορης κύριας μνήμης και των βραδύτερων περιφερειακών συσκευών. Οι υλικές (hardware buffers) χρησιμοποιούνται ευρύτατα για τη διαχείριση των ιδιαίτερα αργών περιφερειακών συσκευών. χρησιμοποιούνταν στις αναγνωστικές μονάδες χαρτοταινιών, σήμερα χρησιμοποιούνται στους εκτυπωτές και βρίσκονται μέσα στον ελεγκτή τους. Οι λογισμικές (software buffers) είναι τμήματα της κύριας μνήμης.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Οι λογισμικές απο-μονωτικές μνήμες είναι απαραίτητο συστατικό κάθε ΣΔΒΔ. Η απομονωτική μνήμη είναι κομμάτι της κύριας μνήμης όπου τοποθετούνται προσωρινά από το διαχειριστή της απομονωτικής μνήμης τα δεδομένα που έρχονται από το δίσκο μέχρι να γίνει η επεξεργασία τους.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Ο διαχειριστής της απομονωτικής μνήμης είναι υπεύθυνος για τον τεμαχισμό της μνήμης σε ένα σύνολο πλαισίων (frames), όπου το μέγεθος κάθε πλαισίου είναι ίσο προς το μέγεθος της σελίδας, ενώ το σύνολο των πλαισίων ονομάζεται δεξαμενή μνημών (buffer pool).
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Τα ανώτερα στρώματα του συστήματος επικοινωνούν με το διαχειριστή της απομονωτικής μνήμης και: του ζητούν κάποια σελίδα, που μπορεί ήδη να βρίσκεται σε κάποιο πλαίσιο, αλλιώς πρέπει να προσπελασθεί από το δίσκο, ή του περνούν ένα μήνυμα ότι δεν χρειάζονται πλέον κάποια σελίδα, οπότε το πλαίσιο μπορεί να ελευθερωθεί, του περνούν ένα μήνυμα για κάποια ενημέρωση που έχει επέλθει σε κάποια σελίδα, οπότε η ενημέρωση αυτή πρέπει να περάσει στην αντίστοιχη σελίδα του δίσκου.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Ο διαχειριστής γνωρίζει για κάθε πλαίσιο πόσες φορές έχει ζητηθεί χωρίς να ελευθερωθεί από τότε που η αντί-στοιχη σελίδα τοποθετήθηκε στην απομονωτική μνήμη, και αν το πλαίσιο είναι βρώμικο (dirty), δηλαδή αν έχει ενημερωθεί. Αυτό επιτυγχάνεται με τη βοήθεια του λεγόμενου μετρητή καρφωμάτων (pin_count) και του λεγόμενου βρώμικου bit. Αρχικά οι δύο μεταβλητές παίρνουν τιμή ίση με μηδέν.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Όταν ζητείται μια σελίδα ο διαχειριστής κάνει τα εξής: Ελέγχει αν ο χώρος της απομονωτικής μνήμης περιέχει τη σελίδα. Αν δεν υπάρχει, ο διαχειριστής τη φέρνει: επιλέγει ένα πλαίσιο προς αντικατάσταση και αυξάνει το μετρητή pin_count κατά 1, αν το βρώμικο bit του προς αντικατάσταση πλαισίου είναι 1, γράφει την σελίδα στο δίσκο, διαβάζει τη σελίδα και την τοποθετεί στο προς αντικατάσταση πλαίσιο. Επιστρέφει τη διεύθυνση του πλαισίου που περιέχει τη σελίδα.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Όταν μια σελίδα βρίσκεται σε ένα πλαίσιο και είναι η σελίδα επόμενης ζήτησης, τότε ο μετρητής καρφωμάτων αυξάνεται κατά ένα και μειώνεται όταν έρθει μήνυμα ότι η σελίδα δεν είναι πλέον χρήσιμη Όταν μια σελίδα δεν βρίσκεται σε κάποιο πλαίσιο και είναι η σελίδα επόμενης ζήτησης, τότε επιλέγεται ένα πλαίσιο θύμα για την τοποθέτησή της.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Το θύμα επιλέγεται μεταξύ των πλαισίων με μηδενικό μετρητή καρφωμάτων εφαρμόζοντας μία πολιτική αντικατάστασης σελίδων (page replacement). Πριν ελευθερωθεί ο χώρος του θύματος πρέπει να ελεγχθεί το βρώμικο bit. Αν το bit αυτό είναι 0, τότε πράγματι το πλαίσιο ελευθερώνεται, ενώ αν είναι 1 τότε το περιεχόμενο του πλαισίου αποθηκεύεται στην αντίστοιχη σελίδα του δίσκου. Όταν δεν υπάρχει σελίδα με μηδενικό μετρητή καρφωμάτων, η νέα αίτηση πρέπει να περιμένει και πιθανώς να απορριφθεί.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Η δυνατότητα πρόβλεψης της μελλοντικής ζήτησης μπορεί να χρησιμοποιηθεί με σκοπό τη βελτίωση της αποτελεσματικότητάς του στα εξής σημεία: με την επιλογή του κατάλληλου πλαισίου για το ρόλο του θύματος, με την επιλογή της κατάλληλης στιγμής για την αποθήκευση των βρώμικων σελίδων στο δίσκο, και με την προ-προσπέλαση (prefetching) σελίδων από το δίσκο πριν ακόμη αυτές ζητηθούν.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Η προ-προσπέλαση βελτιώνει σημαντικά την επίδοση του συστήματος όταν δεν ζητούνται όλες τις σελίδες του δίσκου ισοπίθανα, αλλά οι αιτήσεις εστιάζονται κυρίως σε μερικές περιοχές δεδομένων. Αυτό ονομάζεται τοπικότητα (locality), και οδηγεί σε αύξηση του λόγου επιτυχίας (hit ratio), δηλαδή του λόγου του αριθμού αιτήσεων που απαντώνται χωρίς προσπέλαση στη δευτερεύουσα μνήμη προς τον αριθμό των συνολικών αιτήσεων. Η προ-προσπέλαση βελτιώνει την επίδοση όταν έχουμε σειριακή προσπέλαση, ενώ φθίνει όταν έχουμε τυχαία προσπέλαση, συντελεί στη μείωση του μέσου χρόνου προσπέλασης της σελίδας.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Η χρήση της μνήμης γίνεται αποτελεσματικότερη όταν μεταφέρονται δεδομένα ταυτόχρονα από τη περιφερειακή συσκευή προς την μνήμη και από τη μνήμη στην περιοχή του προγράμματος του χρήστη (user program area). Η μέθοδος single buffering υλοποιείται με ένα μηχανισμό κυκλικής λίστας με δύο δείκτες: ο πρώτος δείχνει την πρώτη διαθέσιμη εγγραφή για το πρόγραμμα εφαρμογής, ο δεύτερος δείχνει την πρώτη διαθέσιμη θέση για αποθήκευση εγγραφών από τη δευτερεύουσα συσκευή.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης H τεχνική double buffering χρησιμοποιείται στη σειριακή προσπέλαση. Παράδειγμα έστω ότι η απομονωτική μνήμη αποτελείται από 2 πλαίσια έστω ότι τα δύο πλαίσια γεμίζουν με τις πρώτες 2 σελίδες του αρχείου μόλις ολοκληρωθεί η επεξεργασία του πρώτου πλαισίου, τότε αυτό ξαναγεμίζει με το περιεχόμενο της τρίτης σελίδας σε κάθε χρονική στιγμή το ένα πλαίσιο δέχεται δεδομένα, ενώ το άλλο συμμετέχει στην επεξεργασία Η τεχνική αλλαγής των ρόλων ονομάζεται ανταλλαγή απομονωτικών μνημών.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Όταν οι υπολογισμοί είναι σύνθετοι, τότε δεν έχουμε θεαματικά αποτελέσματα Στο επόμενο παράδειγμα υποθέτουμε ότι ο χρόνος CPU τριπλάσιος από χρόνο Ι/Ο.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Αν οι απομονωτικές μνήμες έχουν μέγεθος ίσο με μία άτρακτο, τότε ο χρόνος που απαιτείται για τη σειριακή επεξεργασία του αρχείου είναι: όπου t είναι ο λόγος του χρόνου CPU προς το χρόνο εισόδου/εξόδου b ο αριθμός των κάδων του αρχείου ebt ο πραγματικός χρόνος μεταφοράς σελίδας
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αλγόριθμοι αντικατάστασης σελίδων Η γνωστότερη πολιτική αντικατάστασης σελίδων είναι η επιλογή της λιγότερο πρόσφατα χρησιμοποιημένης (least recently used, LRU) υλοποιείται με μια ουράς όπου τοποθετούνται οι διευθύν-σεις των πλαισίων με μετρητή καρφωμάτων ίσο με μηδέν, ως θύμα επιλέγεται το πλαίσιο στη κεφαλή της ουράς. Ωρολογιακή (clock) πολιτική: έχει την ίδια συμπεριφορά με την LRU με μικρότερο κόστος στηρίζεται σε μια μεταβλητή current που θεωρεί κυκλικά όλα τα πλαίσια όταν ο μετρητής καρφωμάτων είναι >0, τότε η μεταβλητή αυξάνεται κατά ένα μέχρι να βρει πλαίσιο με μετρητή καρφωμάτων =0.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αλγόριθμοι αντικατάστασης σελίδων Οι πολιτικές που εξετάστηκαν δεν είναι οι καλύτερες, ειδικά αν πολλές αιτήσεις χρηστών ζητούν σειριακή προσπέλαση. Παράδειγμα: έστω απομονωτική μνήμη 10 πλαισίων και προς σειριακή προσπέλαση αρχείο με 11 ή περισσότερες σελίδες, με την LRU κάθε σειριακή προσπέλαση θα πρέπει να διαβάζει όλες τις σελίδες του αρχείου. Στην περίπτωση αυτή που ονομάζεται σειριακή πλημμύρα (sequential flood), η LRU είναι η χειρότερη πολιτική αντικατάστασης σελίδων.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αλγόριθμοι αντικατάστασης σελίδων Άλλες πολιτικές αντικατάστασης σελίδων είναι: Τυχαία (random), Περισσότερο πρόσφατα χρησιμοποιημένη (most recently used - MRU), Πρώτη ερχόμενη πρώτη αντικαθιστώμενη (first-in first out - FIFO).
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εξυπηρέτηση αιτήσεων Ο ελεγκτής δίσκου διαθέτει μία ουρά εξυπηρέτησης (service queue) αιτήσεων, όπου αποθηκεύονται αιτήσεις προς προσπέλαση. Για την εξυπηρέτηση μίας αίτησης απαιτείται συνολικός χρόνος Tseek+Trot+Ttrans, όπου σημαντικότερος είναι ο χρόνος Tseek. Οι μέθοδοι εξυπηρέτηση προσπαθούν να ελαχιστοποιή-σουν το χρόνο Tseek.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Εξυπηρέτηση αιτήσεων Οι κυριότερες μέθοδοι εξυπηρέτησης είναι: Πρώτη ερχόμενη, πρώτη εξυπηρετούμενη (first come, first served - FCFS), Πρώτα η μικρότερη αναζήτηση (shortest seek time first - SSTF), Σάρωση (SCAN), Look.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Σύνοψη Η φυσική οργάνωση των δεδομένων της βάσης σχετίζεται άμεσα με την απόδοση του συστήματος. Για το λόγο αυτό, εκτελούνται από το ΣΔΒΔ πολλές λειτουργίες διαχείρισης αρχείων που παραδοσιακά βρίσκονται στη δικαιοδοσία του ΛΣ.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Σύνοψη Τα δεδομένα της βάσης αποθηκεύονται σε αρχεία. Κάθε αρχείο αποτελείται από ένα σύνολο εκτάσεων. Η έκταση διαχωρίζεται σε σελίδες, και τέλος Κάθε σελίδα περιέχει ένα σύνολο εγγραφών σταθερού ή μεταβλητού μήκους, ανάλογα με την υλοποίηση. Η μεταφορά δεδομένων από/προς τη δευτερεύουσα μνήμη πραγματοποιείται με τη βοήθεια απομονωτικών μνημών.
Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Σύνοψη Η μνήμη απομόνωσης είναι τμήμα της κύριας μνήμης, το οποίο χρησιμοποιείται αποκλειστικά από το ΣΔΒΔ. Η αναζήτηση δεδομένων πραγματοποιείται πρώτα στη μνήμη απομόνωσης, και μόνο σε περίπτωση αποτυχίας επιχειρείται προσπέλαση στη δευτερεύουσα μνήμη. Έτσι μειώνεται ο χρόνος επεξεργασίας, καθώς μία προσπέλαση στο δίσκο έχει μεγαλύτερο χρονικό κόστος σε σχέση με μία προσπέλαση στην κύρια μνήμη.