Κεφάλαιο 13. Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός

Σχετικά έγγραφα
Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κεφάλαιο 13. Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

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

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

Αποθήκευση εδοµένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

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

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

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

Κατακερματισμός (Hashing)

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

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

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

Αποθήκευση εδομένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

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

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

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

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

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

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

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

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

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

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

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα

9. Φυσική Οργάνωση Αρχείων στο Δίσκο & Ευρετήρια

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Οργάνωση Αρχείων. Διάγραμμα Σχεσιακού σχήματος. Ευρετήρια. Ταξινομημένα ευρετήρια B + δένδρα Ευρετήρια κατακερματισμού

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Δυναμικός Κατακερματισμός

Οργάνωση Αρχείων. Ευρετήρια. Ταξινοµηµένα ευρετήρια B + -δένδρα Ευρετήρια κατακερµατισµού. Αρχεία σωρού ιατεταγµένα αρχεία Αρχεία κατακερµατισµού

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

Δομές Δεδομένων και Αλγόριθμοι

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

Αποθήκευση Δεδοµένων

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Δομές Δεδομένων. Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

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

Αποθήκευση Δεδοµένων

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

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

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

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

Κεφ. 10: Δομές Αποθήκευσης

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

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Πληροφορική 2. Δομές δεδομένων και αρχείων

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

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

Διαχρονικές δομές δεδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

STORAGE AREA NETWORK. Σπουδαστές: Δόση Νικολέτα Καρακούση Πελαγία 30/5/2014 1

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Transcript:

Κεφάλαιο 13 Αποθήκευση σε Δίσκους, Βασικές Δομές Αρχείων, και Κατακερματισμός Δίαβλος, Επιμ.Μ.Χατζόπουλος

Γιατί θα μιλήσουμε Μονάδες Αποθήκευσης Δίσκων Αρχεία Εγγραφών Πράξεις σε αρχεία Αρχεία Σωρού Ταξινομημένα Αρχεία Αρχεία Αρχεία Κατακερματισμού Τεχνικές Δυναμικού και Επεκτατού Κατακερματισμού Τεχνολογία RAID Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-2

Αποθηκευτικές Μονάδες Δίσκων Οι δίσκοι προτιμώνται σαν αποθηκευτικές μονάδες λόγω μεγάλης χωρητικότητας και χαμηλού κόστους. Τα δεδομένα αποθηκεύονται σε επιφάνειες μαγνητικών δίσκων σαν μαγνητισμένες περιοχές. Ένα πακέτο δίσκων περιέχει πολλούς μαγνητικούς δίσκους συνδεδεμένων σε ένα περιστρεφόμενο άξονα. Οι δίσκοι χωρίζονται σε ομόκεντρες κυκλικές ατράκτους σε κάθε επιφάνεια του δίσκου. Η χωρητικότητα των ατράκτων ποικίλει από 4 σε 50 Kbytes ή περισσότερο Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-3

Αποθηκευτικές Μονάδες Δίσκων(συν.) Μια άτρακτος χωρίζεται σε μικρότερα μπλοκ ή τομείς επειδή συνήθως περιέχει μεγάλη ποσότητα πληροφοριών Ο διαμερισμός μιας ατράκτου σε τομείς στην επιφάνεια του δίσκου είναι μόνιμα κωδικοποιημένος και δεν μπορεί να αλλάξει. Ένας τύπος οργάνωσης τομέων είναι αυτός που αποτελούν ένα τμήμα ατράκτου που εκτείνεται σε μια σταθερή γωνία στο κέντρο του τομέα. Μια άτρακτος χωρίζεται σε μπλοκ. Το μέγεθος του μπλοκ B είναι σταθερό για κάθε σύστημα. Τυπικά μεγέθη μπλοκ ποικίλουν από B=512 bytes μέχρι B=4096 bytes. Μεταξύ δίσκου και κύριας μνήμης μεταφέρονται για επεξεργασία ολόκληρα μπλοκ. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-4

Αποθηκευτικές Μονάδες Δίσκων(συν.) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-5

Αποθηκευτικές Μονάδες Δίσκων(συν.) Μια ανάγνωσης-γραφής μετακινείται προς την άτρακτο που περιέχει το μπλοκ για μεταφορά. Η περιστροφική κίνηση του δίσκου μεταφέρει το μπλοκ κάτω από την κεφαλή ανάγνωσης/γραφής για διάβασμα ή γράψιμο. Μια φυσική διεύθυνση μπλοκ (hardware) αποτελείται από: τον αριθμό κυλίνδρου (υποθετική συλλογή ατράκτων της ίδιας ακτίνας από όλες τις επιφάνειες) τον αριθμό ατράκτου ή τον αριθμό της επιφάνειας (στον κύλινδρο) τον αριθμό του μπλοκ (στην άτρακτο). Η ανάγνωση ή το γράψιμο ενός μπλοκ δίσκου απαιτεί χρόνο λόγω του χρόνου εντοπισμού (seek time) s και της καθυστέρησης περιστροφής (latency) rd. Για επιτάχυνση της μεταφοράς μπορεί να χρησιμοποιηθεί τεχνική διπλής ενδιάμεσης μνήμης (double buffering) για την μεταφορά διαδοχικών μπλοκ. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-6

Αποθηκευτικές Μονάδες Δίσκων(συν.) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-7

Τυπικές παράμετροι δίσκων (Courtesy of Seagate Technology) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-8

Προσπέλαση στο δίσκο Χρόνος_προσπέλασης=χρόνος_εντοπισμού(seek) +καθυστέρηση_περιστροφής(latency) +χρόνος_μεταφοράς(transfer time) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-9

Παράδειγμα πραγματικού δίσκου 3.5 inches, 14.4 GB Μέσος χρόνος εντοπισμού 9.1 msec. Μέση καθυστέρηση λόγω περιστροφής 4.17msec. Πέντε επιφάνειες διπλής όψης Από άτρακτο στην επόμενη 2.2 msec. Μέγιστος χρόνος εντοπισμού 15.5msec. 7200 περιστροφές το λεπτό Πυκνότητα εγγραφής 2.6 gigabit/in 2 Με αυτά τα δεδομένα μια προσπέλαση στο δίσκο απαιτεί περίπου 10msec. Μια προσπέλαση στη μνήμη απαιτεί λιγότερο από 60 nanoseconds Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-10

Διαχείριση των Δίσκων Σελίδες Blocks Διαχείριση Ελεύθερων Block Πολιτική Αντικατάστασης Μπλοκ στη μνήμη (Buffer pool) Διπλή Ενδιάμεση Μνήμη (Double Buffering) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-11

Αιτήματα Σελίδων Σελίδα του δίσκου (πλαίσιο) Κύρια Μνήμη Ελεύθερη Θέση (πλαίσιο) Βάση pin_count το πλήθος των χρηστών της σελίδας dirty: boolean αν η σελίδα έχει αλλαχθεί Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-12

Η πολιτική που αποφασίζει ποια σελίδα θα αντικατασταθεί λέγεται πολιτική αντικατάστασης (replacement policy) Το λογισμικό που είναι υπεύθυνο για την μεταφορά των σελίδων από το δίσκο προς την μνήμη και αντιστρόφως λέγεται buffer manager. Η διαχείριση της κύριας μνήμης γίνεται με χωρισμό της σε σελίδες. Ο κώδικας στα ψηλότερα επίπεδα του ΣΔΒΔ δεν χρειάζεται να ξέρει αν οι σελίδες βρίσκονται ή όχι στη μνήμη. Ο buffer manager κάνει κάποια λογιστική με δύο μεταβλητές την pin_count και την dirty. Η pin_count καταχωρεί το πλήθος των χρηστών μιας σελίδας ενώ η dirty δείχνει αν η σελίδα έχει τροποποιηθεί. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-13

Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-14

Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-15

Εγγραφές Εγγραφές σταθερού και μεταβλητού μήκους Οι εγγραφές περιέχουν πεδία που έχουν τιμές συγκεκριμένου τύπου Π.χ., amount, date, time, age Τα πεδία μπορεί να είναι σταθερού ή μεταβλητού μήκους may be fixed Τα πεδία μεταβλητού μήκους μπορεί να αναμειγνύονται σε μια εγγραφή: Για να γίνει επεξεργασία της εγγραφής χρησιμοποιούνται διαχωριστικοί χαρακτήρες ή μήκος πεδίου Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-16

Τα δεδομένα αποθηκεύονται με την μορφή εγγραφών struct εργαζομενος{ char ονομα[30]; char αρ_ταυτ[9]; int μισθος; int κωδ_εργασιας; char τμημα[20]; }; Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-17

Ομαδοποίηση (blocking) Ομαδοποίηση: Αφορά την αποθήκευση ενός πλήθους εγγραφών σε ένα μπλοκ του δίσκου. Παράγοντας ομαδοποίησης (bfr) είναι το πλήθος των εγγραφών ανά μπλοκ. Σε ένα μπλοκ μπορεί να υπάρχει κενός χώρος αν δεν χωράει στο μπλοκ ένα ακέραιο πλήθος εγγραφών. Εκτεινόμενες (Spanned) Εγγραφές: Είναι οι εγγραφές που ξεπερνούν τι μέγεθος ενός ή περισσότερων μπλοκ και επομένως εκτείνονται σε ένα πλήθος από μπλοκ. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-18

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

Αρχεία Εγγραφών(συνεχ.) Οι εγγραφές των αρχείων μπορεί να είναι μη εκτεινόμενες ή εκτεινόμενες Μη εκτεινόμενες: καμιά εγγραφή δεν μπορεί να εκτείνεται σε δύο μπλοκ Εκτεινόμενες: μια εγγραφή μπορεί να αποθηκευθεί σε περισσότερα από ένα μπλοκ Τα φυσικά μπλοκ του δίσκου που διατίθενται για τις εγγραφές ενός αρχείου μπορεί να είναι συνεχόμενα, συνδεδεμένα, ή με ευρετήριο. Σε ένα αρχείο με σταθερού μεγέθους εγγραφές, όλες οι εγγραφές έχουν την ίδια μορφοποίηση. Συνήθως, για τέτοια αρχεία χρησιμοποιείται μη εκτεινόμενη ομαδοποίηση. Αρχεία με μεταβλητού μήκους εγγραφές απαιτούν την αποθήκευση επιπλέον πληροφοριών σε κάθε εγγραφή, όπως χαρακτήρες διαχωρισμού και τύποι πεδίων. Συνήθως, για τέτοια αρχεία χρησιμοποιείται εκτεινόμενη ομαδοποίηση. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-20

Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-21

Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-22

Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-23

Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-24

Οι εγγραφές τοποθετούνται σε block που είναι η μονάδα μεταφοράς δεδομένων Ομαδοποίηση bfr= B/R bfr: παράγοντας ομαδοποίησης Ένα αρχείο με r εγγραφές θα χρειασθεί: b= r/bfr blocks Εκτεινόμενη και μη εκτεινόμενη τοποθέτηση εγγραφών Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-25

Τοποθέτηση εγγραφών σταθερού μήκους σε σελίδες Packed Unpacked Θέση 1 Θέση 2 Θέση Ν Ελεύθερος Χώρος Θέση 1 Θέση 2 Ν Θέση M 1 0 1M M 3 2 1 Πλήθος εγγραφών Επικεφαλίδα Σελίδας Πλήθος θέσεων Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-26

Τοποθέτηση εγγραφών μεταβλητού μήκους σε σελίδες Δείκτης στον ελεύθερο χώρο Περιοχή Δεδομένων Σελίδα i rid=(i,n) rid=(i,2) rid=(i,1) Μήκος 20 ΕΛΕΥΘΕΡΟΣ ΧΩΡΟΣ 20 16 24 Ν Ν 2 1 Ευρετήριο θέσεων Πλήθος θέσεων του ευρετηρίου Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-27

Τοποθέτηση πεδίων σταθερού μήκους σε εγγραφές F1 F2 F3 F4 L1 L2 L3 L4 Βασική Διεύθυνση (Β) Διεύθυνση=B+L1+L2 Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-28

Τοποθέτηση πεδίων μεταβλητού μήκους σε εγγραφές F1 $ F2 $ F3 $ F4 $ F1 F2 F3 F4 Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-29

Πράξεις σε αρχεία Οι τυπικές πράξεις στα αρχεία περιλαμβάνουν: OPEN: Ετοιμάζει το αρχείο για προσπέλαση, και δημιουργεί ένα δείκτη που αναφέρεται σε μια τρέχουσα του αρχείου κάθε χρονική στιγμή. FIND: Αναζητεί την πρώτη εγγραφή ενός αρχείου που ικανοποιεί μια συνθήκη, και την καθιστά τρέχουσα εγγραφή του αρχείου. FINDNEXT: Αναζητεί την επόμενη εγγραφή του αρχείου (από την τρέχουσα) που ικανοποιεί κάποια συνθήκη, και την καθιστά τρέχουσα εγγραφή του αρχείου. READ: Αντιγράφει την τρέχουσα εγγραφή του αρχείου σε μια μεταβλητή του προγράμματος. INSERT: Εισάγει μια νέα εγγραφή στο αρχείο & και την καθιστά τρέχουσα. DELETE: Διαγράφει την τρέχουσα εγγραφή από το αρχείο, συνήθως σημαδεύοντας την εγγραφή για να δείξει ότι δεν ισχύει πλέον. MODIFY: Τροποποιεί τις τιμές κάποιων πεδίων της τρέχουσας εγγραφής. CLOSE: Τερματίζει την προσπέλαση στο αρχείο. REORGANIZE: Αναδιοργανώνει τις εγγραφές του αρχείου. Για παράδειγμα, διαγράφονται φυσικά από το αρχείο οι εγγραφές που έχουν σημαδευτεί σαν διαγραμμένες ή δημιουργείται μια νέα οργάνωση των εγγραφών του αρχείου. READ_ORDERED: Διάβασε τα μπλοκ του αρχείου με σειρά τιμής συγκεκριμένου πεδίου. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-30

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

Ταξινομημένα Αρχεία Λέγονται και σειριακά αχεία. Οι εγγραφές στο αρχείο ταξινομημένες με βάση την τιμή ενός πεδίου διάταξης. Η εισαγωγή είναι ακριβή: οι εγγραφές πρέπει να εισαχθούν στη σωστή σειρά. Για βελτίωση της απόδοσης της εισαγωγής συνηθίζεται να υπάρχει ένα μη ταξινομημένο αρχείο για τις νέες εγγραφές, αρχείο υπερχείλισης ή δοσοληψιών (overflow ή transaction) αυτό περιοδικά συγχωνεύεται με το κυρίως ταξινομημένο αρχείο. Για αναζήτηση μιας εγγραφής με τιμή του πεδίου διάταξης μπορεί να χρησιμοποιηθεί δυαδική αναζήτηση. Αυτό απαιτεί, κατά μέσο όρο, ανάγνωση και αναζήτηση log 2 των μπλοκ του αρχείου, μια βελτίωση σε σχέση με τη γραμμική αναζήτηση. Η ανάγνωση των εγγραφών με την σειρά του πεδίου διάταξης είναι πολύ αποτελεσματική. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-32

Άτυποι Ορισμοί Κλειδί μιας Σχέσης: Κάθε γραμμή έχει μια τιμή ενός δεδομένου (ή συνόλου δεδομένων) που προσδιορίζει μοναδικά αυτή τη γραμμή στον πίνακα Ονομάζεται το κλειδί Στον πίνακα ΦΟΙΤΗΤΗΣ, το ΑρΤαυτ είναι το κλειδί Μερικές φορές σαν κλειδιά εμφανίζονται ο αριθμός γραμμής ή συνεχόμενοι αριθμοί για το προσδιορισμό των κλειδιών ενός πίνακα. Ονομάζεται τεχνητό κλειδί ή υποκατάστατο κλειδί Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια13-5- 33

Περιορισμοί Κλειδιού Υπερκλειδί της R: Είναι ένα σύνολο γνωρισμάτων SK της R με την παρακάτω συνθήκη: Δεν υπάρχουν δυο πλειάδες σε οποιαδήποτε κατάσταση σχέσης r(r) που να έχουν την ίδια τιμή SK Δηλαδή, για οποιεσδήποτε διακριτές πλειάδες t1 και t2 στην r(r), t1[sk] t2[sk] Η συνθήκη αυτή πρέπει να ισχύσει σε κάθε έγκυρη κατάσταση r(r) Κλειδί της R: Ένα ελάχιστο" υπερκλειδί Δηλαδή, ένα κλειδί είναι ένα υπερκλειδί K έτσι που η αποκοπή οποιουδήποτε γνωρίσματος από το K έχει σαν αποτέλεσμα ένα σύνολο γνωρισμάτων που δεν είναι υπερκλειδί (δεν έχει την ιδιότητα της μοναδικότητας του υπερκλειδιού) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια13-5- 34

Περιορισμοί Κλειδιού (συνέχεια) ΠΑράδειγμα: Έστω το σχήμα σχέσης ΑΥΤΟΚΙΝΗΤΟ: ΑΥΤΟΚΙΝΗΤΟ(ΑρΚυκλοφοριας,ΑρΠλαισιου, Κατασκευαστης, Μοντελο, Ετος) Η ΑΥΤΟΚΙΝΗΤΟ έχει δύο κλειδιά: Key1 = {ΑρΚυκλοφοριας} Key2 = {ΑρΠλαισιου} Και τα δύο είναι υπερκλειδιά της ΑΥΤΟΚΙΝΗΤΟ Το {ΑρΠλαισιου, Κατασκευαστής} είναι υπερκλειδί αλλά δεν είναι ένα κλειδί. Γενικά: Κάθε κλειδί είναι ένα υπερκλειδί (αλλά δεν ισχύει το αντίστροφο) Κάθε σύνολο γνωρισμάτων που περιλαμβάνει ένα κλειδί είναι ένα υπερκλειδί Ένα ελάχιστο είναι και κλειδί Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια13-5- 35

Περιορισμοί Κλειδιού (συνέχεια) Αν μια σχέση έχει πολλά υποψήφια κλειδιά, επιλέγεται αυθαίρετα ένα σαν πρωτεύον κλειδί. Τα γνωρίσματα του πρωτεύοντος κλειδιού είναι υπογραμμισμένα. Παράδειγμα: Έστω το σχήμα σχέσης ΑΥΤΟΚΙΝΗΤΟ : ΑΥΤΟΚΙΝΗΤΟ(ΑρΚυκλοφοριας,ΑρΠλαισιου, Κατασκευαστης, Μοντελο, Ετος) Επιλέγουμε το ΑρΠλαισιου σαν πρωτεύον κλειδί Η τιμή του πρωτεύοντος κλειδιού χρησιμοποιείται για να προσδιορίζεται μοναδικά identify κάθε πλειάδα της σχέσης Δίνει μια ταυτότητα στην πλειάδα Χρησιμοποιείται επίσης για αναφορά στην πλειάδα από άλλη πλειάδα Γενικός κανόνας: Επιλέξτε σαν πρωτεύον κλειδί το μικρότερο από τα υποψήφια κλειδιά (σε σχέση με το μέγεθος) Δεν εφαρμόζεται πάντα η επιλογή μερικές φορές είναι υποκειμενική Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-36

Ταξινομημένα Αρχεία(συν.) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-37

Μέσοι χρόνοι προσπέλασης Ο παρακάτω πίνακας δείχνει το μέσο χρόνο προσπέλασης μιας εγγραφής για ένα τύπο αρχείου ΠΙΝΑΚΑΣ 13.2 ΜΕΣΟΣ ΧΡΟΝΟΣ ΠΡΟΣΠΕΛΑΣΗΣ ΓΙΑ ΒΑΣΙΚΕ ΟΡΓΑΝΩΣΕΙΣ ΑΡΧΕΙΩΝ ΤΥΠΟΣ ΟΡΓΑΝΩΣΗΣ Σωρός διάταξη) (Χωρίς ΜΕΘΟΔΟΣ ΠΡΟΣΠΕΛΑΣΗΣ/ ΑΝΑΖΗΤΗΣΗΣ Γραμμική Σάρωση (Γραμμική Αναζήτηση) ΜΕΣΟΣ ΧΡΟΝΟΣ ΠΡΟΣΠΕΛΑΣΗΣ ΜΙΑΣ ΕΓΓΡΑΦΗΣ b/2 Διατεταγμένο Γραμμική Σάρωση b/2 Διατεταγμένο Δυαδική Αναζήτηση log 2 b Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-38

Αρχεία Κατακερματισμού Ο κατακερματισμός για αρχεία στο δίσκο ονομάζεται Εξωτερικός Κατακερματισμός Τα μπλοκ του αρχείου χωρίζονται σε M ίσου μεγέθους κάδους, αριθμημένους κάδος 0, κάδος 1,..., κάδος M-1. Τυπικά, ένας κάδος αντιστοιχεί σε ένα (ή καθορισμένο πλήθος) μπλοκ δίσκου. Ένα από τα πεδία του αρχείου καθορίζεται να είναι το κλειδί κατακερματισμού του αρχείου. Η εγγραφή με κλειδί κατακερματισμού K αποθηκεύεται στον κάδο i, όπου i=h(k), και h είναι η συνάρτηση κατακερματισμού. Η αναζήτηση στο κλειδί κατακερματισμού είναι πολύ αποδοτική. Συμβαίνουν συγκρούσεις όταν μια νέα εγγραφή απεικονίζεται σε ένα κάδο που είναι ήδη γεμάτος. Για αποθήκευση τέτοιων εγγραφών υπάρχει ένα αρχείο υπερχείλισης. Οι εγγραφές υπερχείλισης κάθε κάδου μπορούν να συνδεθούν. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-39

Με χρήση μιας συνάρτησης που ονομάζεται συνάρτηση απεικόνισης ή συνάρτηση κατακερματισμού (hash function) απεικονίζεται η τιμή ενός πεδίου στο χώρο των διευθύνσεων: h(k) A Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-40

O στόχος μιας καλής συνάρτησης κατακερματισμού είναι να κατανέμει τις εγγραφές ομοιόμορφα στο χώρο διευθύνσεων ώστε να ελαχιστοποιούνται οι συγκρούσεις χωρίς να μένουν πολλές αχρησιμοποίητες θέσεις. H προσομοίωση αλλά και οι αναλυτικές μέθοδοι έχουν δείξει ότι συνήθως είναι καλύτερα να διατηρείται ένας πίνακας κατακερματισμού γεμάτος σε ποσοστό 70% ως 90%, έτσι ώστε το πλήθος των συγκρούσεων να παραμένει μικρό και να μην σπαταλάμε πάρα πολύ χώρος. Eπομένως, αν περιμένουμε ότι θα πρέπει να αποθηκεύσουμε r εγγραφές στον πίνακα, πρέπει να επιλέξουμε M θέσεις για τον χώρο διευθύνσεων έτσι ώστε το (r/m) να βρίσκεται μεταξύ 0.7 και 0.9. Mπορεί επίσης να είναι χρήσιμο να επιλεγεί ως M ένας πρώτος αριθμός, καθώς έχει δειχθεί ότι αυτό κατανέμει καλύτερα τις διευθύνσεις κατακερματισμού στο χώρο των διευθύνσεων όταν χρησιμοποιείται ως συνάρτηση κατακερματισμού η mod. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-41

Σύγκρουση Mια σύγκρουση (collision) συμβαίνει όταν η τιμή του πεδίου κατακερματισμού μιας νέας εγγραφής που εισάγεται κατακερματίζεται σε μια διεύθυνση που ήδη περιέχει μια διαφορετική εγγραφή. Στην περίπτωση αυτή πρέπει να εισάγουμε τη νέα εγγραφή σε μια άλλη θέση, αφού η διεύθυνση κατακερματισμού της είναι κατειλημμένη. (αυτά τα στοιχεία λέγονται συνώνυμα) Ο κατακερματισμός γενικά δεν διατηρεί την διάταξη. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-42

Αρχεία Κατακερματισμού(συν.) Υπάρχουν διάφοροι μέθοδοι επίλυσης των συγκρούσεων, συμπεριλαμβανομένων των: Ανοικτή διεθυνσιοδότηση: Ξεκινώντας από την κατειλημμένη θέση που προσδιορίζεται από τη διεύθυνση κατακερματισμού, το πρόγραμμα ελέγχει τις διαδοχικές θέσεις στη σειρά μέχρι να βρεθεί μια αχρησιμοποίητη (κενή) θέση. Αλυσιδωτή σύνδεση: Για τη μέθοδο αυτή διατηρούμε περιοχές θέσεων υπερχείλισης, συνήθως επεκτείνοντας τον πίνακα με έναν αριθμό θέσεων υπερχείλισης. Eπιπλέον, σε κάθε θέση εγγραφής προστίθεται ένα πεδίο δείκτη. Mια σύγκρουση επιλύεται τοποθετώντας τη νέα εγγραφή σε μια αχρησιμοποίητη θέση υπερχείλισης και θέτοντας ως τιμή του δείκτη της κατειλημμένης θέσης κατακερματισμού τη διεύθυνση αυτής της θέσης υπερχείλισης. Πολλαπλός κατακερματισμός: το πρόγραμμα εφαρμόζει μια δεύτερη συνάρτηση κατακερματισμού αν η πρώτη οδηγεί σε σύγκρουση. Aν συμβεί πάλι σύγκρουση το πρόγραμμα χρησιμοποιεί ανοικτή διευθυνσιοδότηση ή εφαρμόζει μια τρίτη συνάρτηση κατακερματισμού και στη συνέχεια χρησιμοποιεί ανοικτή διευθυνσιοδότηση αν είναι απαραίτητο. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-43

Αρχεία Κατακερματισμού(συν.) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-44

Αρχεία Κατακερματισμού(συν.) Για ελάττωση των εγγραφών υπερχείλισης, τυπικά ένα αρχείο κατακερματισμού διατηρείται hash κατά 70-80% γεμάτο. Η συνάρτηση κατακερματισμού h θα πρέπει να κατανέμει ομοιόμορφα τις εγγραφές στους κάδους Διαφορετικά, θα αυξάνει ο χρόνος αναζήτησης επειδή θα υπάρχουν πολλές εγγραφές υπερχείλισης. Τα βασικά μειονεκτήματα του στατικού εξωτερικού κατακερματισμού: Ο προκαθορισμένος αριθμός κάδων M είναι πρόβλημα αν το πλήθος των εγγραφών μεγαλώνει ή συρρικνώνεται. Προσπέλαση με βάση τη διάταξη στο κλειδί κατακερματισμού είναι μη αποτελεσματική (απαιτεί ταξινόμηση των εγγραφών). Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-45

Αρχεία Κατακερματισμού - Διαχείριση Υπερχείλισης Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-46

Εξωτερικός Κατακερματισμός 0 1 Διεύθυνση Μπλοκ στο δίσκο Μ-2 Μ-1 Κάδος Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-47

Στατικός Εξωτερικός Κατακερματισμός κλειδί h 0 1 M-1 Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-48

Αρχεία Κατακερματισμού Ανοικτή διεθυνσιοδότηση 0 1 2 3 M-2 M-1 Μ Μ+1 Μ+2.. -1 Μ -1 Μ+2-1 -1 Μ+ 1-1 Μ+5-1 -1-1 Χώρος Διευθύνσεων Χώρος Υπερχείλιση Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-49

κάδος 0 Κύριοι κάδοι Κάδοι υπερχείλισης null δείκτης κάδος 1 null δείκτης κάδος Μ-1 null δείκτης Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-50

Το σχήμα αυτό ονομάζεται στατικός κατακερματισμός επειδή διατίθεται ένας σταθερός αριθμός από κάδους M. Αυτό μπορεί να είναι σοβαρό μειονέκτημα για δυναμικά αρχεία. Αν διαθέτουμε M κάδους για το χώρο διευθύνσεων και εστω ότι m είναι το μέγιστο πλήθος εγγραφών που χωρούν σε έναν κάδο τότε, το πολύ (m*m) εγγραφές θα χωρούν στο χώρο που διατέθηκε. Αν τελικά το πλήθος των εγγραφών είναι σημαντικά μικρότερο από (m*m), τότε έχουμε πολύ αχρησιμοποίητο χώρο. Απο την άλλη πλευρά, αν το πλήθος των εγγραφών μεγαλώσει πολύ περισσότερο από (m*m), θα προκληθούν πολλές συγκρούσεις και η ανάκτηση θα επιβραδυνθεί λόγω της εμφάνισης μεγάλων λιστών από εγγραφές υπερχείλισης. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-51

Δυναμικά και επεκτεινόμενα αρχεία κατακερματισμού Τεχνικές Δυναμικού και Επεκτατού Κατακερματισμού Οι τεχνικές κατακερματισμού προσαρμόζονται για να υποστηρίζουν δυναμική επέκταση και συρρίκνωση του πλήθους των εγγραφών. Οι τεχνικές αυτές περιλαμβάνουν τις παρακάτω: δυναμικός κατακερματισμός, επεκτατός κατακερματισμός, και γραμμικός κατακερματισμός. Τόσο ο δυναμικός όσο και ο επεκτατός κατακερματισμός χρησιμοποιούν την δυαδική παράσταση της τιμής κατακερματισμού h(k) για προσπέλαση σε ένα ευρετήριο. Στο δυναμικό κατακερματισμό το ευρετήριο είναι ένα δυαδικό δένδρο. Στον επεκτατό κατακερματισμό το ευρετήριο είναι ένας πίνακας μεγέθους 2 d όπου το d ονομάζεται το ολικό βάθος. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-52

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

Επεκτατός κατακερματισμός Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-54

Παραλληλισμός στην προσπέλαση των δίσκων με τεχνολογία RAID. Η τεχνολογία των μονάδων αποθήκευσης πρέπει να κάνει βήματα για να προφθάσει σε απόδοση και αξιοπιστία την τεχνολογία των επεξεργαστών. Μια σημαντική πρόοδο στην τεχνολογία των δευτερευουσών μονάδων αποθήκευσης εκπροσωπεί η ανάπτυξη RAID, που αρχικά σήμαινε Redundant Arrays of Inexpensive Disks. Ο βασικός στόχος του RAID είναι να αντισταθμίσει την τεράστια διαφορά βελτίωσης της απόδοσης των δίσκων έναντι αυτής της μνήμης και των μικροεπεξεργαστών. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-55

Βελτίωση και της Αξιοπιστίας Κρατάμε περισσότερα από ένα αντίγραφα των δεδομένων για να αντιμετωπίσουμε περίπτωση αστοχίας. Χρησιμοποιείται κατοπτρισμός. Τα δεδομένα γράφονται σε δύο πανομοιότυπους δίσκους που αντιμετωπίζονται σαν ένας λογικός δίσκος Μια άλλη λύση στο πρόβλημα της αξιοπιστίας είναι να αποθηκευθούν επιπλέον πληροφορίες που κανονικά δεν χρειάζονται αλλά μπορούν να χρησιμοποιηθούν για την αναπαραγωγή χαμένων δεδομένων σε περίπτωση αστοχίας. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-56

RAID Τεχνολογία (συν.) Μια φυσική λύση είναι μια μεγάλη διάταξη μικρών ανεξάρτητων δίσκων που λειτουργούν σαν ένας υψηλής απόδοσης λογικός δίσκος. Χρησιμοποιείται μια έννοια που λέγεται διαχωρισμός δεδομένων (data striping), που χρησιμοποιεί παραλληλισμό για βελτίωση της απόδοσης των δίσκων. Ο διαχωρισμός των δεδομένων κατανέμει τα δεδομένα σε πολλαπλούς δίσκους ώστε να εμφανίζονται σαν ένας μεγάλος, γρήγορος δίσκος. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-57

RAID Τεχνολογία (συν.) Έχουν ορισθεί διάφορες οργανώσεις raid που βασίζονται σε διαφορετικούς συνδυασμούς των δύο παραγόντων της λεπτότητας διαχωρισμού των δεδομένων και του πρότυπου που χρησιμοποιείται για τον υπολογισμό των πλεοναζουσών πληροφοριών. Το Raid επιπέδου 0 δεν έχει πλεονάζοντα δεδομένα και επομένως έχει την καλύτερη απόδοση εγγραφής με κίνδυνο απώλειας δεδομένων. Το Raid επιπέδου 1 χρησιμοποιεί κατοπτρικούς δίσκους. Το Raid επιπέδου 2 χρησιμοποιεί πλεονασμούς μνήμης χρησιμοποιώντας κώδικες Hamming, που περιέχουν δυαδικά ψηφία ισοτιμίας για διακριτά υποσύνολα επικαλυπτόμενων συνιστωσών. Το επίπεδο 2 περιλαμβάνει και εξακρίβωση και διόρθωση λαθών. Το Raid επιπέδου 3 χρησιμοποιεί ένα δίσκο ισοτιμίας και βασίζεται στον ελεγκτή του δίσκου για να βρει ποιος δίσκος έχει αποτύχει. Τα Raid επίπεδα 4 και 5 χρησιμοποιούν διαχωρισμό επιπέδου μπλοκ, με το επίπεδο 5 να κατανέμει τα δεδομένα και τις πληροφορίες ισοτιμίας σε όλους τους δίσκους. Το Raid επίπεδο 6 εφαρμόζει το αποκαλούμενο P + Q σχήμα πλεονασμού χρησιμοποιώντας τους Reed-Soloman κώδικές για προστασία επιτρέποντας μέχρι το πολύ δύο δίσκοι να είναι σε αποτυχία χρησιμοποιώντας δύο πλεονάζοντες δίσκους. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-58

Χρήση τηςraid Τεχνολογίας (συν.) Σε διαφορετικές περιπτώσεις χρησιμοποιούνται διαφορετικές raid οργανώσεις Στο Raid επιπέδου 1 (κατοπτρικοί δίσκοι) η ανάκτηση είναι ευκολότερη Χρησιμοποιείται για κρίσιμες εφαρμογές όπως ημερολόγια δοσοληψιών Το Raid επιπέδου 2 χρησιμοποιεί πλεονασμό μνήμης με χρήση κωδίκων Hamming, που περιέχουν δυαδικά ψηφία ισοτιμίας για διακριτά επικαλυπτόμενα υποσύνολα στοιχείων. Το επίπεδο 2περιλαμβάνει εξακρίβωση και διόρθωση λαθών. Το Raid επιπέδου 3 (χρησιμοποιεί ένα δίσκο ισοτιμίας βασιζόμενο στον ελεγκτή του δίσκου για να βρει ποιος δίσκος έχει αποτύχει) και το επιπέδου 5 (διαχωρισμός δεδομένων επιπέδου μπλοκ) προτιμώνται για μεγάλη αποθήκευση, με το επίπεδο 3 να δίνει ταχύτερους ρυθμούς μεταφοράς. Οι πιο δημοφιλείς χρήσεις της τεχνολογίας RAID σήμερα είναι: Επίπεδο 0 (με διαχωρισμό), Επίπεδο 1 (με κατοπτρισμό) και Επίπεδο 5 με μια επιπλέον μονάδα για ισοτιμία. Οι σχεδιαστικές αποφάσεις για το RAID περιλαμβάνουν: Επίπεδο του RAID, πλήθος δίσκων, επιλογή σχημάτων ισοτιμίας, και ομαδοποίηση των δίσκων για διαχωρισμό επιπέδου μπλοκ. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-59

Χρήση της RAID Τεχνολογίας (συν.) Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-60

Τάσεις στην τεχνολογία των δίσκων Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-61

Δίκτυα Περιοχών Αποθήκευσης (SAN) Οι απαιτήσεις για μεγάλους χώρους αποθήκευσης έχουν αυξηθεί σημαντικά τελευταία. Οι οργανισμοί αισθάνονται την ανάγκη να περάσουν από τη λειτουργία ενός στατικού καθορισμένου κέντρου δεδομένων σε πιο ευέλικτες και δυναμικές υποδομές για την επεξεργασία πληροφοριών. Επομένως προσανατολίζονται σε of Storage Area Networks (SANs). Σε ένα SAN, οι περιφερειακές μονάδες αποθήκευσης διαμορφώνονται σαν κόμβοι σε ένα δίκτυο υψηλής ταχύτητας και μπορούν να προσαρτώνται και να αποπροσαρτώνται από διακομιστές κατά πολύ ευέλικτο τρόπο. Αυτό επιτρέπει σε συστήματα αποθήκευσης να βρίσκονται σε μεγαλύτερες αποστάσεις από διακομιστές να υποστηρίζουν διαφορετικές επιλογές απόδοσης και διασύνδεσης. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-62

Δίκτυα Περιοχών Αποθήκευσης(συν.) Τα πλεονεκτήματα των SANs είναι: Ευέλικτη πολλά-προς-πολλά σύνδεση μεταξύ διακομιστών και μονάδων αποθήκευσης με χρήση οπτικών καναλιών. Μέχρι και 10km απόσταση μεταξύ ενός διακομιστή και ενός συστήματος αποθήκευσης με χρήση κατάλληλων οπτικών ινών. Δυνατότητες καλύτερης απομόνωσης που υποστηρίζει μη διακοπτόμενη προσθήκη νέων περιφερειακών και διακομιστών. Τα SAN αντιμετωπίζουν το πρόβλημα συνδυασμού αποθηκευτικών επιλογών από πολλούς κατασκευαστές και των επερχόμενων πρότυπων λογισμικού και υλικού στη διαχείριση δεδομένων. Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-63

Σύνοψη Μονάδες Αποθήκευσης Δίσκων Αρχεία Εγγραφών Πράξεις σε Αρχεία Μη ταξινομημένα Αρχεία Ταξινομημένα Αρχεία Αρχεία Κατακερματισμού Τεχνικές επεκτατού και δυναμικού κατακερματισμού RAID Τεχνολογία Δίαβλος, Επιμ. Μ.Χατζόπουλος Διαφάνεια 13-64