Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Indexing. Σκοπός του Indexing • Τι είναι το Data Indexing? • Έχει σημασία?

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Indexing. Σκοπός του Indexing • Τι είναι το Data Indexing? • Έχει σημασία?"— Μεταγράφημα παρουσίασης:

1 Indexing

2 Σκοπός του Indexing • Τι είναι το Data Indexing? • Έχει σημασία?

3 Η ιδέα των File Systems •Αποθήκευση και οργάνωση δεδομένων σε αρχεία •Ευκολότερη εύρεση και πρόσβαση δεδομένων κάθε στιγμή

4 Database Management Systems •Το σύστημα αρχείων μιας βάσης δεδομένων •ΒΔ: οργανωμένη συλλογή δεδομένων που έχουν λογική συσχέτιση (πρωτ. Και ξένα κλειδιά, τύποι δεδομένων, περιορισμοί)

5 Πρόσβαση σε Δεδομένα από ΒΔ •read, modify, update, delete •Το DBMS μεταφέρει τα δεδομένα σε buffer στην κύρια μνήμη •Μεταφορά σε blocks μεταξύ δίσκου και μνήμης

6 Χρόνος? •Η μεταφορά των δεδομένων σε blocks: αργή διαδικασία •Η πρόσβαση εξαρτάται από το μέσο που χρησιμοποιείται

7 Γιατί? •Πολλές γραμμές, 20 bytes η κάθε μία •Θέλουμε την εγγραφή 100 •Το σύστημα διαβάζει 99 Χ 20 = 1980 bytes •Το ευρετήριο διαβάζει δύο στήλες, μπορεί να είναι 4-5 bytes κάθε γραμμή •Χρειάζεται 99 Χ 4 = 396 bytes για να βρει τη διεύθυνση

8 Συσκευές φυσικής αποθήκευσης •Random Access Memory (RAM): η πιο γρήγορη, αλλά και η πιο ακριβή •Direct Access Memory: λίγο αργότερη, λίγο φτηνότερη •Sequential Access Memory: η πιο αργή, η πιο φτηνή

9 Άλλοι παράγοντες •Το query χρειάζεται πολύ χρόνο •Το DBMS πρέπει να ψάξει τα blocks για να βρει δεδομένα που ταιριάζουν

10 Data Indexing •Δομή δεδομένων που «επισυνάπτεται» στο αρχείο για ταχύτερη πρόσβαση •Βασικός στόχος: μείωση των blocks που πρέπει να ψάξει το DBMS

11 Ιδιότητες •Κλειδί αναζήτησης και pointer •Κλειδί αναζήτησης: χαρακτηριστικό (-ά) που χρησιμοποιούνται για αναζήτηση εγγραφών •Pointer: διεύθυνση μνήμης όπου είναι αποθηκευμένα τα δεδομένα •Περίπου όπως το καταλογογραφικό σύστημα στις βιβλιοθήκες

12 Ευρετήρια δύο τύπων •Ordered index (Πρωτεύον ευρετήριο ή ευρετήριο συστάδων): πρόσβαση δεδομένων με διάταξη •Hash index (δευτερεύον ευρετήριο ή ευρετήριο χωρίς συστάδες): πρόσβαση δεδομένων κατανεμημένων ομοιόμορφα σε μια σειρά δεξαμενών

13 Τύποι Ordered Index •Πυκνό ευρετήριο: μια εγγραφή για κάθε τιμή του κλειδιού •Μη πυκνό ευρετήριο: μια εγγραφή για μερικές μόνο τιμές του κλειδιού

14 Πυκνό Ευρετήριο

15 Πυκνό ευρετήριο

16 Εισαγωγή σε πυκνό ευρετήριο •Αν η τιμή δεν υπάρχει στο ευρετήριο, η νέα εγγραφή μπαίνει στην κατάλληλη θέση •Αν το ευρετήριο κρατάει pointer για όλες τις εγγραφές με αυτή την τιμή, προστίθεται pointer για τη νέα εγγραφή •Αν το ευρετήριο κρατάει μόνο τον pointer για την πρώτη τιμή, η εγγραφή μπαίνει αμέσως μετά τις τελευταίες εγγραφές με την ίδια τιμή

17 Διαγραφή σε πυκνό ευρετήριο •Αν η εγγραφή που διαγράφεται ήταν η μοναδική με αυτή την τιμή, απλώς διαγράφουμε την τιμή •Αν το ευρετήριο κρατάει pointer για όλες τις εγγραφές με αυτή την τιμή, διαγράφεται ο pointer για τη διαγραφείσα εγγραφή •Αν το ευρετήριο κρατάει μόνο τον pointer για την πρώτη τιμή, ενημερώνουμε τον pointer μόνο αν ήταν η πρώτη εγγραφή αυτή που διαγράφηκε

18 Μη πυκνό ευρετήριο

19

20 Εισαγωγή σε μη πυκνό ευρετήριο •Υποθέτουμε ότι κρατάμε μια εγγραφή για κάθε block •Αν δεν δημιουργείται καινούριο block, καμιά αλλαγή •Αν δημιουργείται καινούριο block, η πρώτη τιμή του κλειδιού στο νέο block προστίθεται στο ευρετήριο

21 Διαγραφή σε μη πυκνό ευρετήριο •Αν η εγγραφή που διαγράφεται ήταν η μοναδική με αυτή την τιμή, στο ευρετήριο μπαίνει η επόμενη τιμή •Αν η επόμενη τιμή υπάρχει στο ευρετήριο, τότε απλά διαγράφεται η διαγραφείσα •Αν η τιμή κλειδιού της εγγραφής που διαγράφεται υπάρχει και αλλού, τότε είτε δε γίνεται καμία αλλαγή (αν ο δείκτης δεν δείχνει σε αυτή) είτε ο δείκτης ενημερώνεται για να δείχνει στην επόμενη εγγραφή

22 Ποιο ευρετήριο διαλέγουμε? •Πυκνό: περισσότερο αποθηκευτικό χώρο και μεγαλύτερη μνήμη •Ο χρόνος αναζήτησης είναι μικρότερος με το πυκνό •Προτιμάμε πυκνό, αν το αρχείο του ευρετηρίου είναι μικρό σε σχέση με τη μνήμη που έχουμε •Πρέπει να κάνουμε και μια πρόβλεψη για το πόσο μεγάλο μπορεί να γίνει το αρχείο στο μέλλον

23 Πολυεπίπεδο ευρετήριο •Μπορεί το ευρετήριο να γίνει πολύ μεγάλο για να μπορεί να γίνει αποτελεσματικά αναζήτηση •Λύση: indexing πολλών επιπέδων •Το κύριο index γίνεται «ενδιάμεσο αρχείο» και δημιουργούμε ένα μη πυκνό index για αυτό •The outer index is a sparse index of the primary index whereas the inner index is the primary index.

24 Πολυεπίπεδο ευρετήριο

25

26 Συγκροτημένο Ευρετήριο (clustering index) •Index σε χαρακτηριστικό που δεν είναι κλείδί •Πχ. Τμήμα, σε έναν πίνακα υπαλλήλων

27 Συγκροτημένο Ευρετήριο (clustering index)

28 •Pointer στην κορυφη του block •Overflow pointer αν η τιμη παει και σε άλλο block

29 Ευρετήριο B-Tree •Η πιο συχνή δομή δεδομένων για indexing. •Δυναμική δομή, μπορεί να μεγαλώσει και να μικρύνει

30 Τρεις τύποι κόμβων •Βασικός κόμβος: δείκτες κόμβων σε κόμβους κλάδων •Κόμβος κλάδου: δείκτες σε κόμβους φύλλων ή άλλους κόμβους κλάδων •Κόμβος φύλλου: δείκτες σε άλλους κόμβους φύλλων ή αντικείμενα δεικτών

31 Full B-Tree Structure


Κατέβασμα ppt "Indexing. Σκοπός του Indexing • Τι είναι το Data Indexing? • Έχει σημασία?"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google