Τεχνολογία Βάσεων Δεδομένων

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Βασικές έννοιες αλγορίθμων
Advertisements

Indexing.
Λογισμικο συστηματοσ Κεφάλαιο 4ο
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Αποθήκευση Δεδομένων.
Λειτουργικά Συστήματα
Slide 1 Δίκτυα Τηλεπικοινωνιών ENOTHTA 7 η ΔΙΑΚΙΝΗΣΗ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ (ΜΕΡΟΣ Α’) 1. ΘΕΩΡΙΑ ΤΗΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΗΣ ΚΙΝΗΣΗΣ  Εκτός από τις τερματικές.
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΕΡΓΑΣΙΑ: ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ ΣΚΛΗΡΟΥ ΔΙΣΚΟΥ
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Το υλικο του Υπολογιστη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Λειτουργικό Σύστημα 2ο μέρος.
Κατανομή με ευρετήριο.
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Ζητήματα Σελιδοποίησης
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
11 Φυσική Οργάνωση Βάσεων Δεδομένων  Τύποι Εγγραφών  Τύποι Σελίδων  Ομαδοποίηση Εγγραφών  Διαχείριση Χώρου Δίσκου  Διαχείριση Απομονωτικής Μνήμης.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
Κεφάλαιο 2 Το Εσωτερικό του υπολογιστή
1 Εισαγωγή στις Βάσεις Δεδομένων  Ανάγκη Αποθήκευσης και Διαχείρισης Δεδομένων  Συστήματα Αρχείων  Συστήματα Βάσεων Δεδομένων  Παραδοσιακές και Σύγχρονες.
ΟΡΓΑΝΩΣΗ ΣΥΣΤΗΜΑΤΟΣ ΑΡΧΕΙΩΝ A’ μέρος
Δομές Δεδομένων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Αποθήκευση Δεδομένων.
Ο προσωπικός υπολογιστής εσωτερικά
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Κεφάλαιο 10 – Υποπρογράμματα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Οργάνωση Αρχείων.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Κύρια Μνήμη Διάφοροι τύποι μνήμης RAM Από πάνω προς τα κάτω, DIP, SIPP, SIMM (30-pin), SIMM (72-pin), DIMM (168-pin), DDR DIMM (184-pin). Μνήμη RΟM.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
1 Είδη μέσων αποθήκευσης Πρωτεύοντα μέσα αποθήκευσης κεντρική μνήμη και όλες οι υπόλοιπες μνήμες (π.χ καταχωρητές, cache memory) Δευτερεύοντα μέσα αποθήκευσης.
Μαγνητικός δίσκος (magnetic disk) Εισαγωγή στην Πληροφορκή1 Ο μαγνητικός δίσκος χρησιμοποιείται για μόνιμη αποθήκευση δεδομένων, παρέχοντας σχετικά μικρό.
Θέμα Πτυχιακής Εργασίας
Λειτουργικά Συστήματα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Θεωρήστε το λογικό χώρο διευθύνσεων που αποτελείται από 8 σελίδες των 1024 λέξεων (word) η καθεμία, που απεικονίζεται σε φυσική μνήμη 32 πλαισίων. Πόσα.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΔΙΑΧΕΙΡΙΣΗ ΤΕΧΝΙΚΩΝ ΕΡΓΩΝ
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
TCP/IP.
Κεφάλαιο 7: Διαδικτύωση-Internet
Φυσική Οργάνωση Βάσεων Δεδομένων
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Αποθήκευση Δεδομένων Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
2 Στοιχεία Hardware H/Υ Αρχιτεκτονική Υπολογιστικού Συστήματος
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Τεχνολογία Βάσεων Δεδομένων Φυσική Οργάνωση

Περιεχόμενα Τύποι Εγγραφών Τύποι Σελίδων Ομαδοποίηση Εγγραφών Διαχείριση Χώρου Δίσκου Διαχείριση Απομονωτικής Μνήμης

Τα Βασικά Τμήματα του ΣΔΒΔ O Διαχειριστής Αρχείων υλοποιεί διάφορες δομές αρχείων και επίσης είναι υπεύθυνος για την τακτοποίηση των εγγραφών. Ο Διαχειριστής Μνήμης Απομόνωσης είναι υπεύθυνος για την κατάτμηση της κύριας μνήμης σε κατάλληλα τμήματα ώστε τα περιεχόμενα των σελίδων να αποθηκεύονται προσωρινά από το δίσκο. Ο Διαχειριστής Αποθήκης είναι υπεύθυνος για την ανάγνωση και την αποθήκευση σελίδων στο δίσκο.

Βασικά Τμήματα Υπολογιστικού Συστήματος

Τύποι Εγγραφών Η γραφική παράσταση της οργάνωσης των πεδίων μιας εγγραφής λέγεται γραμμογράφηση (layout). Οι εγγραφές μιας οντότητας έχουν ίδια μορφή και λέγονται εγγραφές σταθερού μήκους. Στα σχεσιακά μοντέλα καθώς και στα αντικειμε-νοστραφή συστήματα προκύπτουν εγγραφές μεταβλητού μήκους.

Πλεονεκτήματα Εγγραφών Μεταβλητού Μήκους Τα πλεονεκτήματα ως προς την αποθήκευση είναι ιδιαίτερα σημαντικά όταν: υπάρχει μεγάλη απόκλιση των μηκών των εγγραφών από το μέσο μήκος εγγραφής, τα αρχεία είναι ογκώδη, είναι μεγάλη η συχνότητα χρήσης, το υλικό είναι ακριβό.

Μεταβλητότητα Εγγραφών πεδία μεταβλητού μήκους συμβολοσειρές, όπως ονόματα, διευθύνσεις κλπ εγγραφές διαφορετικής μορφής επαναλαμβανόμενες ομάδων πεδίων Πχ. εγγραφή υπαλλήλου με δύο ή τρία παιδιά

Διαχείριση Εγγραφών Μεταβλητού Μήκους Χρήση ειδικών διαχωριστών Με χρήση ενός μικρού καταλόγου στην αρχή της εγγραφής όπου για κάθε πεδίο αποθηκεύεται η απόστασή του από την αρχή της εγγραφής

Πλεονεκτήματα Καταλόγου Απαιτεί περισσότερο χώρο αλλά είναι χρονικά αποτελεσματικότερη γιατί προσφέρει άμεση προσπέλαση κάθε πεδίου Δεν απαιτείται η αποθήκευση συγκεκριμένου συμβόλου για την τιμή NULL κάποιου πεδίου, αλλά απλώς η απόσταση του επόμενου πεδίου είναι ίση με την απόσταση του συγκεκριμένου πεδίου.

Μειονεκτήματα Εγγραφών Μεταβλητού Μήκους Το κυριότερο πρόβλημα είναι η αύξηση του μεγέθους της εγγραφής κατά την ενημέρωση ενός πεδίου, οπότε αυτό μπορεί να προκαλέσει: την ανάγκη τακτοποίησης του περιεχομένου της σελίδας με την κατάλληλη μετακίνηση (shifting) μερικών εγγραφών. την ανάγκη αποθήκευσης της συγκεκριμένης εγγραφής σε άλλη σελίδα λόγω ανεπάρκειας χώρου. αν η εγγραφή μετακινηθεί, τότε στη θέση της αποθηκεύεται η νέα διεύθυνση ώστε να μη χαθούν δεδομένα.

Οργάνωση Σελίδων Κάθε σελίδα έχει επικεφαλίδα (page header), που περιέχει σημαντικές πληροφορίες, όπως αριθμός αποθηκευμένων εγγραφών στη σελίδα, διεύθυνση επόμενης σελίδας του αρχείου κλπ. Μία σελίδα είναι ένα σύνολο θέσεων (slots) για την αποθήκευση των εγγραφών. Κάθε εγγραφή μπορεί να χαρακτηρισθεί από το σύστημα με ένα μοναδικό κωδικό εγγραφής (record identifier - rid), που αποτελείται από το ζεύγος <κωδικός σελίδας, αριθμός θέσης> (<page id, slot number>).

Εγγραφές Σταθερού Μήκους σε Σελίδες Υπάρχουν δύο εύκολες λύσεις για τον εντοπισμό των εγγραφών μέσα στη σελίδα 1η λύση: οι εγγραφές αποθηκεύο-νται στις πρώτες διαθέσιμες θέσεις της σελίδας, οπότε είναι εύκολος ο υπολογισμός των αποστάσεων (offsets). Σε περί-πτωση διαγραφής η τελευταία εγγραφή καταλαμβάνει τη θέση της διαγραφείσας.

Εγγραφές Σταθερού Μήκους σε Σελίδες Μειονέκτημα: αν υπάρχουν αλυσίδες εγγραφών, και μία εγγραφή εκτός της συγκεκριμένης σελίδας δείχνει προς τη θέση της τελευταίας εγγραφής, τότε αυτή δεν μπορεί να μετακινηθεί 2η λύση: Αποθηκεύεται στην επικε-φαλίδα ένας δυαδικός πίνακας με σημαίες που δηλώνουν αν μία θέση είναι κατειλημμένη ή όχι. Κατά την αναζήτηση εξετάζονται μόνο οι θέσεις με αληθείς σημαίες, ενώ η αντίστοιχη σημαία καθίσταται ψευδής κατά τη διαγραφή.

Εγγραφές Μεταβλητού Μήκους σε Σελίδες Προβλήματα δημιουργούνται και στην εισαγωγή μιας εγγραφής όπου θα πρέπει να καταλάβει κάποιο “κατάλληλο” κενό χώρο (κάνοντας έξυπνη χρήση του κενού χώρου) και στη διαγραφή μιας εγγραφής γιατί οι υπόλοιπες θα πρέπει να μετακινηθούν ώστε ο κενός χώρος να είναι ενοποιημένος.

Εγγραφές Μεταβλητού Μήκους σε Σελίδες 1η λύση: Ένας κατάλογος θέσεων (directory of slots), ή πίνακας τοποθέτησης (position table) στην επι-κεφαλίδα της σελίδας περιέχει για κάθε εγγραφή το ζεύγος <απόσταση εγγραφής, μήκος εγγραφής>. Επιπλέον, υπάρχει ένας δείκτης προς την αρχή της σελίδας από όπου αρχίζει η περιοχή αποθήκευσης των εγγραφών, καθώς και ένας δείκτης προς την αρχή της ενοποιημένης περιοχής που είναι ελεύθερη και διαθέσιμη για αποθήκευση νέων εγγραφών.

Εγγραφές Μεταβλητού Μήκους σε Σελίδες 2η λύση: Ο κατάλογος δεν περιέχει ζεύγη <απόσταση εγγραφής, μήκος εγγραφής> αλλά μόνο την <απόσταση εγγραφής> , ενώ η ένδειξη μήκους (length indicator) τοποθετείται στην αρχή της αντίστοιχης εγγραφής. Έτσι, διευκολύνεται η υπέρβαση μίας εγγραφής σε περίπτωση αναζήτησης.

Ομαδοποίηση Εγγραφών Υποθέτουμε ότι μονάδα αποθήκευσης είναι ο σκληρός δίσκος, η εγγραφή είναι η ελάχιστη λογική μονάδα διακίνησης πληροφορίας, η σελίδα είναι το ελάχιστο φυσικό ποσό δεδομένων που μεταφέρεται μεταξύ του δίσκου και της κύριας μνήμης.

Ομαδοποίηση Εγγραφών Παράγοντας ομαδοποίησης (blocking factor - Bfr) είναι ο αριθμός των εγγραφών που χωρούν σε μία σελίδα. Αν υποτεθεί ότι αμελητέο μέγεθος επικεφαλίδας της σελίδας και ότι οι εγγραφές είναι σταθερού μήκους, τότε ο παράγοντας ομαδοποίησης ισούται με: όπου: Β είναι το μέγεθος της σελίδας, R είναι το μέγεθος της εγγραφής

Ομαδοποίηση Εγγραφών Αν οι εγγραφές είναι μεταβλητού μήκους, τότε η μεταβλητή R συμβολίζει το μέσο μήκος των εγγραφών. Προσεγγιστικά, ο μέσος κενός χώρος ισούται με το μισό της μέσης εγγραφής , οπότε ο παράγοντας ομαδοποίησης γίνεται:

Ομαδοποίηση Εγγραφών Αν n είναι το πλήθος των εγγραφών, τότε ο αριθμός των σελίδων του αρχείου είναι: Αν οι κεφαλές είναι τοποθετημένες στην αρχή της σελίδας, τότε ο χρόνος μεταφοράς της σελίδας ισούται με: όπου t είναι ταχύτητα διακίνησης των δεδομένων μεταξύ δίσκου και μνήμης και μετράται με bytes/ms. Αν (αντί σελίδας) θεωρηθεί μία άτρακτος Τ, τότε ο χρόνος μεταφοράς ισούται με: όπου r είναι ο μέσος χρόνος περιστροφής.

Οργάνωση Δίσκου Στο σκληρό δίσκο απαιτείται κάποια οργάνωση με σκοπό το συγχρονισμό κατά τη λειτουργία του και επομένως τη μείωση του λανθάνοντα περιστροφικού χρόνου. Στην πράξη χρησιμοποιούνται δύο τρόποι για την οργάνωση ενός δίσκου: η ύπαρξη των κενών μεταξύ των σελίδων, και η χρήση της τεχνικής της παρεμβολής (interleaving) που επιτυγχάνει καλύτερους χρόνους προσπέλασης αλλά είναι σχετικά περίπλοκη.

Τεχνική της Παρεμβολής Η τεχνική της παρεμβολής είναι αναγκαία επειδή ο ελεγκτής του δίσκου απαιτεί κάποιο χρόνο επεξεργασίας των δεδομένων που δέχεται από το δίσκο, προτού μπορέσει να δεχθεί άλλα δεδομένα. Έτσι, αν η λογικά επόμενη σελίδα τοποθετούνταν στον φυσικά επόμενο τομέα, τότε θα έπρεπε να γίνει μία πλήρης περιστροφή του δίσκου, ώστε να εντοπισθεί η αρχή της επόμενης σελίδας.

Τεχνική της Παρεμβολής Έστω ότι πρέπει να αποθηκευτούν 10 σελίδες ενός αρχείου στους 10 τομείς μίας ατράκτου. Επίσης, ας υποτεθεί ότι ο ελεγκτής απαιτεί διπλάσιο χρόνο από το χρόνο που απαιτείται για την προσπέλαση του επόμενου τομέα.

Τεχνική της Παρεμβολής Στο συγκεκριμένο παράδειγμα αρκούν τρεις περιστροφές για την ανάγνωση όλων των τομέων της ατράκτου, ενώ θα χρειαζόταν δέκα περιστροφές αν δεν χρησιμοποιούνταν η τεχνική αυτή. Τα τελευταία χρόνια οι ταχύτητες των ελεγκτών έχουν βελτιωθεί σημαντικά. Έτσι αναφέρεται από τους κατασκευαστές δίσκων ότι ο λόγος παρεμβολής είναι 1:1, που σημαίνει ότι η λογική σειρά των τομέων ταυτίζεται με τη φυσική σειρά τους.

Πραγματικός Χρόνος Μεταφοράς Σελίδας Όταν οι δίσκοι είναι φορμαρισμένοι με τη μέθοδο των κενών, τότε θεωρούμε μια καινούργια μεταβλητή που ονομάζεται πραγματικός χρόνος μεταφοράς σελίδας (effective block transfer time) και ισούται με: όπου t' είναι η ταχύτητα διακίνησης δεδομένων από φορμαρισμένο δίσκο στη μνήμη και μετράται επίσης με bytes/ms.

Παράμετροι του ΙΒΜ 3380

Ταχύτητα Ανάγνωσης Η σειριακή ανάγνωση αρχείου απαιτεί χρόνο: Η τυχαία ανάγνωση όλων των σελίδων ενός αρχείου απαιτεί χρόνο: όπου b είναι το μέγεθος του αρχείου σε σελίδες, s είναι ο μέσος χρόνος αναζήτησης σε ms, r είναι ο μέσος χρόνος περιστροφής σε ms., ενώ θεωρείται αμελητέο το μέγεθος της επικεφαλίδας, και υποτίθεται ότι οι εγγραφές έχουν σταθερό μήκος.

Διαχείριση Χώρου Δίσκου Είναι χρήσιμο ένα σύνολο σελίδων του αρχείου να αποθηκευθεί σε διαδοχικές ατράκτους του δίσκου, ώστε η σειριακή ανάκτησή τους να γίνεται αποτελεσματικά. Το φαινόμενο της ύπαρξης κενού χώρου σε κάθε σελίδα ονομάζεται εσωτερική τμηματοποίηση. To πλήθος των σελίδων περιορίζεται από το μέγεθος της απομονωτικής μνήμης, και αποτελεί το λεγόμενο κάδο (bucket) που είναι η λογική μονάδα προσπέλασης στο δίσκο.

Διαχείριση Χώρου Δίσκου H εκλογή του κατάλληλου μεγέθους κάδου είναι σημαντική για τη βελτιστοποίηση της χρήσης του χώρου του δίσκου. Έστω ότι το μέγεθος εγγραφής είναι 160 bytes, ενώ το μέγεθος της σελίδας είναι 256 bytes οι εγγραφές αποθηκεύονται εν μέρει σε δύο σελίδες (αυξημένο κόστος προσπέλασης), κάθε εγγραφή αποθηκεύεται σε μια σελίδα (αυξημένο κόστος σε χώρο λόγω ύπαρξης κενού χώρου).

Διαχείριση Χώρου Δίσκου

Διαχείριση Χώρου Δίσκου Το ποσοστό χρησιμοποίησης του χώρου δίδεται από: όπου Ppb είναι ο αριθμός των σελίδων ανά κάδο και S είναι το μέγεθος του τομέα σε bytes.

Διαχείριση Χώρου Δίσκου Χρόνος αναζήτησης (seek), Tseek: μετακίνηση των κεφαλών επάνω από την κατάλληλη τροχιά. Χρόνος περιστροφικής καθυστέρησης (rotational latency), Trot: αναμονή μέχρι ο κατάλληλος τομέας περάσει κάτω από την κεφαλή. Χρόνος Μεταφοράς (transfer) δεδομένων, Ttrans: η κεφαλή διαβάζει ή γράφει δεδομένα. Για το χρόνο προσπέλασης (access) ισχύει: Ttotal = Tseek + Τrot + Τtrans

Διαχείριση Χώρου Δίσκου Αν η κλήση θεωρηθεί ότι γίνεται με βάση τον κάδο, τότε ο χρόνος σειριακής ανάγνωσης ενός αρχείου ισούται με: όπου bk είναι ο αριθμός των κάδων του αρχείου και dtt είναι ο χρόνος μεταφοράς δεδομένων O χρόνος τυχαίας ανάγνωσης του αρχείου είναι: θεωρείται αμελητέο το μέγεθος της επικεφαλίδας υποτίθεται ότι οι εγγραφές έχουν σταθερό μήκος.

Διαχείριση Χώρου Δίσκου Η αλλαγή του μεγέθους του κάδου δεν επιδρά στην ταχύτητα της σειριακής ανάγνωσης Η αύξηση του μεγέθους του κάδου αυξάνει την ταχύτητα της τυχαίας προσπέλασης του αρχείου με βάση τον κάδο, ενώ μειώνει την ταχύτητα της τυχαίας προσπέλασης του αρχείου με βάση την εγγραφή

Διαχείριση Χώρου Δίσκου Αν η κλήση γίνεται με βάση τις εγγραφές, τότε ο αντίστοιχος τύπος είναι: Για την προσπέλαση μιας εγγραφής πρέπει να μεταφερθεί στην κύρια μνήμη ένας ολόκληρος κάδος αντί μιας ή δύο σελίδων

Διαχείριση Χώρου Δίσκου Αν η επεξεργασία του αρχείου γίνεται κυρίως κατά τυχαίο τρόπο, τότε δεν συμφέρει να ομαδοποιούνται πολλές σελίδες σε έναν κάδο. Η εκλογή του κατάλληλου αριθμού σελίδων ανά κάδο είναι ένα πολυδιάστατο πρόβλημα.

Διαχείριση Χώρου Δίσκου Ο διαχειριστής πρέπει να γνωρίζει ποιες σελίδες είναι κατειλημμένες και ποιες ελεύθερες. Υπάρχουν δύο τεχνικές: με χρήση μία λίστας για τις διευθύνσεις των ελεύθερων σελίδων, όπως γίνεται με τη συλλογή σκουπιδιών (garbage collection) από ένα λειτουργικό σύστημα, ή με χρήση ενός δυαδικού πίνακα, όπου τα 1 και 0 αντιστοιχούν στις κατειλημμένες και στις ελεύθερες σελίδες, αντίστοιχα.

Διαχείριση Χώρου Δίσκου Η τμηματοποίηση του δίσκου είναι η διαδικασία κατά την οποία υπάρχει συνολικά ελεύθερος χώρος όμως είναι μη πρακτικά εκμεταλλεύσιμος. Τα αρχεία χωρίζονται σε εκτάσεις (extents) όπου κάθε έκταση καταλαμβάνει ένα συγκεκριμένο μέρος του δίσκου οι εκτάσεις είναι ισομεγέθεις και ποικίλουν σε πλήθος από μία μέχρι μερικές δεκάδες.

Διαχείριση Χώρου Δίσκου Είναι πολύ αποτελεσματικό από άποψη παραλληλισμού τα μεγάλα αρχεία να επιμερίζονται σε εκτάσεις που αποθηκεύονται σε διαφορετικούς δίσκους. Η κατανομή αυτή λέγεται ζεύξη ή σύνδεση (spanning). Μία εισαγόμενη εγγραφή μπορεί να μη χωρά σε κάποια έκταση. Τότε το σύστημα παραχωρεί στο αρχείο μία επιπλέον έκταση με τρόπο αδιαφανή για το χρήστη. Ακόμη, το σύστημα μπορεί μία άδεια έκταση να τη διαθέσει σε κάποιο άλλο αρχείο.

Διαχείριση Απομονωτικής Μνήμης Ο σκοπός των απομονωτικών μνημών (buffer memories) είναι η ομαλοποίηση της ροής των δεδομένων μεταξύ της γρήγορης κύριας μνήμης και των βραδύτερων περιφερειακών συσκευών, και γενικά διακρίνονται σε δύο τύπους: τις υλικές (hardware buffers), που χρησιμοποιούνται ευρύτατα για τη διαχείριση των ιδιαίτερα αργών περιφερειακών συσκευών, και τις λογισμικές (software buffers), που είναι τμήματα της κύριας μνήμης.

Διαχείριση Απομονωτικής Μνήμης Σκοπός των απομονωτικών (buffer) μνημών είναι η ομαλοποίηση της ροής των δεδομένων μεταξύ της γρήγορης κύριας μνήμης και των βραδύτερων περιφερειακών συσκευών. Οι υλικές (hardware buffers) χρησιμοποιούνται ευρύτατα για τη διαχείριση των ιδιαίτερα αργών περιφερειακών συσκευών. χρησιμοποιούνταν στις αναγνωστικές μονάδες χαρτοταινιών, σήμερα χρησιμοποιούνται στους εκτυπωτές και βρίσκονται μέσα στον ελεγκτή τους. Οι λογισμικές (software buffers) είναι τμήματα της κύριας μνήμης.

Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Διαχείριση απομονωτικής μνήμης Οι λογισμικές απο-μονωτικές μνήμες είναι απαραίτητο συστατικό κάθε ΣΔΒΔ. Η απομονωτική μνήμη είναι κομμάτι της κύριας μνήμης όπου τοποθετούνται προσωρινά από το διαχειριστή της απομονωτικής μνήμης τα δεδομένα που έρχονται από το δίσκο μέχρι να γίνει η επεξεργασία τους.

Διαχείριση Απομονωτικής Μνήμης Ο διαχειριστής της απομονωτικής μνήμης είναι υπεύθυνος για τον τεμαχισμό της μνήμης σε ένα σύνολο πλαισίων (frames), όπου το μέγεθος κάθε πλαισίου είναι ίσο προς το μέγεθος της σελίδας, ενώ το σύνολο των πλαισίων ονομάζεται δεξαμενή μνημών (buffer pool).

Διαχείριση Απομονωτικής Μνήμης Τα ανώτερα στρώματα του συστήματος επικοινωνούν με το διαχειριστή της απομονωτικής μνήμης και: του ζητούν κάποια σελίδα, που μπορεί ήδη να βρίσκεται σε κάποιο πλαίσιο, αλλιώς πρέπει να προσπελασθεί από το δίσκο, ή του περνούν ένα μήνυμα ότι δεν χρειάζονται πλέον κάποια σελίδα, οπότε το πλαίσιο μπορεί να ελευθερωθεί, του περνούν ένα μήνυμα για κάποια ενημέρωση που έχει επέλθει σε κάποια σελίδα, οπότε η ενημέρωση αυτή πρέπει να περάσει στην αντίστοιχη σελίδα του δίσκου.

Διαχείριση Απομονωτικής Μνήμης Ο διαχειριστής γνωρίζει για κάθε πλαίσιο πόσες φορές έχει ζητηθεί χωρίς να ελευθερωθεί από τότε που η αντί-στοιχη σελίδα τοποθετήθηκε στην απομονωτική μνήμη, και αν το πλαίσιο είναι βρώμικο (dirty), δηλαδή αν έχει ενημερωθεί. Αυτό επιτυγχάνεται με τη βοήθεια του λεγόμενου μετρητή καρφωμάτων (pin_count) και του λεγόμενου βρώμικου bit. Αρχικά οι δύο μεταβλητές παίρνουν τιμή ίση με μηδέν.

Διαχείριση Απομονωτικής Μνήμης Όταν ζητείται μια σελίδα ο διαχειριστής κάνει τα εξής: Ελέγχει αν ο χώρος της απομονωτικής μνήμης περιέχει τη σελίδα. Αν δεν υπάρχει, ο διαχειριστής τη φέρνει: επιλέγει ένα πλαίσιο προς αντικατάσταση και αυξάνει το μετρητή pin_count κατά 1, αν το βρώμικο bit του προς αντικατάσταση πλαισίου είναι 1, γράφει την σελίδα στο δίσκο, διαβάζει τη σελίδα και την τοποθετεί στο προς αντικατάσταση πλαίσιο. Επιστρέφει τη διεύθυνση του πλαισίου που περιέχει τη σελίδα.

Διαχείριση Απομονωτικής Μνήμης Όταν μια σελίδα βρίσκεται σε ένα πλαίσιο και είναι η σελίδα επόμενης ζήτησης, τότε ο μετρητής καρφωμάτων αυξάνεται κατά ένα και μειώνεται όταν έρθει μήνυμα ότι η σελίδα δεν είναι πλέον χρήσιμη Όταν μια σελίδα δεν βρίσκεται σε κάποιο πλαίσιο και είναι η σελίδα επόμενης ζήτησης, τότε επιλέγεται ένα πλαίσιο θύμα (victim) για την τοποθέτησή της.

Διαχείριση Απομονωτικής Μνήμης Το θύμα επιλέγεται μεταξύ των πλαισίων με μηδενικό μετρητή καρφωμάτων εφαρμόζοντας μία πολιτική αντικατάστασης σελίδων (page replacement). Πριν ελευθερωθεί ο χώρος του θύματος πρέπει να ελεγχθεί το βρώμικο bit. Αν το bit αυτό είναι 0, τότε πράγματι το πλαίσιο ελευθερώνεται, ενώ αν είναι 1 τότε το περιεχόμενο του πλαισίου αποθηκεύεται στην αντίστοιχη σελίδα του δίσκου. Όταν δεν υπάρχει σελίδα με μηδενικό μετρητή καρφωμάτων, η νέα αίτηση πρέπει να περιμένει και πιθανώς να απορριφθεί.

Διαχείριση Απομονωτικής Μνήμης Η δυνατότητα πρόβλεψης της μελλοντικής ζήτησης μπορεί να χρησιμοποιηθεί με σκοπό τη βελτίωση της αποτελεσματικότητάς του στα εξής σημεία: με την επιλογή του κατάλληλου πλαισίου για το ρόλο του θύματος, με την επιλογή της κατάλληλης στιγμής για την αποθήκευση των βρώμικων σελίδων στο δίσκο, και με την προ-προσπέλαση (prefetching) σελίδων από το δίσκο πριν ακόμη αυτές ζητηθούν.

Διαχείριση Απομονωτικής Μνήμης Η προ-προσπέλαση βελτιώνει σημαντικά την επίδοση του συστήματος όταν δεν ζητούνται όλες τις σελίδες του δίσκου ισοπίθανα, αλλά οι αιτήσεις εστιάζονται κυρίως σε μερικές περιοχές δεδομένων. Αυτό ονομάζεται τοπικότητα (locality), και οδηγεί σε αύξηση του λόγου επιτυχίας (hit ratio), δηλαδή του λόγου του αριθμού αιτήσεων που απαντώνται χωρίς προσπέλαση στη δευτερεύουσα μνήμη προς τον αριθμό των συνολικών αιτήσεων. Η προ-προσπέλαση βελτιώνει την επίδοση όταν έχουμε σειριακή προσπέλαση, ενώ φθίνει όταν έχουμε τυχαία προσπέλαση, συντελεί στη μείωση του μέσου χρόνου προσπέλασης της σελίδας.

Διαχείριση Απομονωτικής Μνήμης Η χρήση της μνήμης γίνεται αποτελεσματικότερη όταν μεταφέρονται δεδομένα ταυτόχρονα από τη περιφερειακή συσκευή προς την μνήμη και από τη μνήμη στην περιοχή του προγράμματος του χρήστη (user program area). Η μέθοδος single buffering υλοποιείται με ένα μηχανισμό κυκλικής λίστας με δύο δείκτες: ο πρώτος δείχνει την πρώτη διαθέσιμη εγγραφή για το πρόγραμμα εφαρμογής, ο δεύτερος δείχνει την πρώτη διαθέσιμη θέση για αποθήκευση εγγραφών από τη δευτερεύουσα συσκευή.

Διαχείριση Απομονωτικής Μνήμης H τεχνική double buffering χρησιμοποιείται στη σειριακή προσπέλαση. Παράδειγμα έστω ότι η απομονωτική μνήμη αποτελείται από 2 πλαίσια έστω ότι τα δύο πλαίσια γεμίζουν με τις πρώτες 2 σελίδες του αρχείου μόλις ολοκληρωθεί η επεξεργασία του πρώτου πλαισίου, τότε αυτό ξαναγεμίζει με το περιεχόμενο της τρίτης σελίδας σε κάθε χρονική στιγμή το ένα πλαίσιο δέχεται δεδομένα, ενώ το άλλο συμμετέχει στην επεξεργασία Η τεχνική αλλαγής των ρόλων ονομάζεται ανταλλαγή απομονωτικών μνημών.

Διαχείριση Απομονωτικής Μνήμης Παράδειγμα double buffering

Διαχείριση Απομονωτικής Μνήμης Όταν οι υπολογισμοί είναι σύνθετοι, τότε δεν έχουμε θεαματικά αποτελέσματα Στο επόμενο παράδειγμα υποθέτουμε ότι ο χρόνος CPU τριπλάσιος από χρόνο Ι/Ο.

Διαχείριση Απομονωτικής Μνήμης Αν οι απομονωτικές μνήμες έχουν μέγεθος ίσο με μία άτρακτο, τότε ο χρόνος που απαιτείται για τη σειριακή επεξεργασία του αρχείου είναι: όπου t είναι ο λόγος του χρόνου CPU προς το χρόνο εισόδου/εξόδου b ο αριθμός των κάδων του αρχείου ebt ο πραγματικός χρόνος μεταφοράς σελίδας

Αλγόριθμοι Αντικατάστασης Σελίδων Η γνωστότερη πολιτική αντικατάστασης σελίδων είναι η επιλογή της λιγότερο πρόσφατα χρησιμοποιημένης (least recently used, LRU) υλοποιείται με μια ουράς όπου τοποθετούνται οι διευθύν-σεις των πλαισίων με μετρητή καρφωμάτων ίσο με μηδέν, ως θύμα επιλέγεται το πλαίσιο στη κεφαλή της ουράς. Ωρολογιακή (clock) πολιτική: έχει την ίδια συμπεριφορά με την LRU με μικρότερο κόστος στηρίζεται σε μια μεταβλητή current που θεωρεί κυκλικά όλα τα πλαίσια όταν ο μετρητής καρφωμάτων είναι >0, τότε η μεταβλητή αυξάνεται κατά ένα μέχρι να βρει πλαίσιο με μετρητή καρφωμάτων =0.

Κεφάλαιο 11: Φυσική Οργάνωση Βάσεων Δεδομένων Αλγόριθμοι αντικατάστασης σελίδων Οι πολιτικές που εξετάστηκαν δεν είναι οι καλύτερες, ειδικά αν πολλές αιτήσεις χρηστών ζητούν σειριακή προσπέλαση. Παράδειγμα: έστω απομονωτική μνήμη 10 πλαισίων και προς σειριακή προσπέλαση αρχείο με 11 ή περισσότερες σελίδες, με την LRU κάθε σειριακή προσπέλαση θα πρέπει να διαβάζει όλες τις σελίδες του αρχείου. Στην περίπτωση αυτή που ονομάζεται σειριακή πλημμύρα (sequential flood), η LRU είναι η χειρότερη πολιτική αντικατάστασης σελίδων.

Αλγόριθμοι Αντικατάστασης Σελίδων Άλλες πολιτικές αντικατάστασης σελίδων είναι: Τυχαία (random), Περισσότερο πρόσφατα χρησιμοποιημένη (most recently used - MRU), Πρώτη ερχόμενη πρώτη αντικαθιστώμενη (first-in first out - FIFO).

Παράδειγμα LRU 7 1 2 3 4 Αναφορές Buffer

Παράδειγμα LRU * 7 1 2 3 4

Παράδειγμα LRU * * 7 1 2 3 4

Παράδειγμα LRU * * * 7 1 2 3 4

Παράδειγμα LRU * * * * 7 1 2 3 4 H 7 δεν έχει χρησιμοποιηθεί για το περισσότερο διάστημα και επιλέγεται ως θύμα

Παράδειγμα LRU * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU * * * * * * * * * * * * 7 1 2 3 4

Παράδειγμα LRU 7 1 2 3 4 * * * * * * * * * * * * 1 2 3 4 Συνολικά έχουμε 12 page faults.

Σύγκριση Μεθόδων Αλγόριθμος αντικατάστασης Πλήθος page faults (cold buffer) (hot buffer) FIFO 15 12 OPT 9 6 LRU

Εξυπηρέτηση Αιτήσεων Ο ελεγκτής δίσκου διαθέτει μία ουρά εξυπηρέτησης (service queue) αιτήσεων, όπου αποθηκεύονται αιτήσεις προς προσπέλαση. Για την εξυπηρέτηση μίας αίτησης απαιτείται συνολικός χρόνος Tseek+Trot+Ttrans, όπου σημαντικότερος είναι ο χρόνος Tseek. Οι μέθοδοι εξυπηρέτηση προσπαθούν να ελαχιστοποιή-σουν το χρόνο Tseek.

Εξυπηρέτηση Αιτήσεων Οι κυριότερες μέθοδοι εξυπηρέτησης είναι: Πρώτη ερχόμενη, πρώτη εξυπηρετούμενη (first come, first served - FCFS), Πρώτα η μικρότερη αναζήτηση (shortest seek time first - SSTF), Σάρωση (SCAN), Look.

Σύνοψη Η φυσική οργάνωση των δεδομένων της βάσης σχετίζεται άμεσα με την απόδοση του συστήματος. Για το λόγο αυτό, εκτελούνται από το ΣΔΒΔ πολλές λειτουργίες διαχείρισης αρχείων που παραδοσιακά βρίσκονται στη δικαιοδοσία του ΛΣ.

Σύνοψη Τα δεδομένα της βάσης αποθηκεύονται σε αρχεία. Κάθε αρχείο αποτελείται από ένα σύνολο εκτάσεων. Η έκταση διαχωρίζεται σε σελίδες, και τέλος Κάθε σελίδα περιέχει ένα σύνολο εγγραφών σταθερού ή μεταβλητού μήκους, ανάλογα με την υλοποίηση. Η μεταφορά δεδομένων από/προς τη δευτερεύουσα μνήμη πραγματοποιείται με τη βοήθεια απομονωτικών μνημών.

Σύνοψη Η μνήμη απομόνωσης είναι τμήμα της κύριας μνήμης, το οποίο χρησιμοποιείται αποκλειστικά από το ΣΔΒΔ. Η αναζήτηση δεδομένων πραγματοποιείται πρώτα στη μνήμη απομόνωσης, και μόνο σε περίπτωση αποτυχίας επιχειρείται προσπέλαση στη δευτερεύουσα μνήμη. Έτσι μειώνεται ο χρόνος επεξεργασίας, καθώς μία προσπέλαση στο δίσκο έχει μεγαλύτερο χρονικό κόστος σε σχέση με μία προσπέλαση στην κύρια μνήμη.