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

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

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

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

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

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

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

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

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

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

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

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

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

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

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

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

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

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

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

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

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

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

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

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

Σχεδίαση Βάσεων Δεδομένων. Χωρικές Βάσεις Δεδομένων και Μέθοδοι Προσπέλασης Μανώλης Μαραγκουδάκης

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

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems - GIS)

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρα 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.

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

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

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

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

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

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

Multimedia IR. Εισαγωγή. Εισαγωγή. εικτοδότηση και Αναζήτηση

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

Multimedia IR. εικτοδότηση και Αναζήτηση. Ανάκτηση Πληροφορίας

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

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

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

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

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

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

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

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

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6.

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης

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

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

εντρικά Ευρετήρια έντρα Αναζήτησης

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

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV - B-Δένδρα

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

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

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

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

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

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

Διάλεξη 18: B-Δένδρα

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

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

Advanced Data Indexing

Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης. Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

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

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

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

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

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

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

«ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΜΕΘΟ ΩΝ ΚΑΤΑΣΚΕΥΗΣ ΤΟΥ R* TREE ΜΕ ΟΡΟΥΣ ΑΠΟ ΟΤΙΚΟΤΗΤΑΣ ΓΙΑ ΕΡΩΤΗΜΑΤΑ ΚΟΝΤΙΝΟΤΕΡΟΥ ΓΕΙΤΟΝΑ ΣΕ ΠΟΛΥ ΙΑΣΤΑΤΟΥΣ ΧΩΡΟΥΣ Ε ΟΜΕΝΩΝ»

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

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

Εισαγωγή στην PostgreSQL Spatial 8.1

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

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

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

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

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

Μέθοδοι Πολυδιάστατης Προσπέλασης σε Βάσεις εδοµένων µε χρήση ένδρων

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

Τεχνικές Προσπέλασης σε Πολυδιάστατες Βάσεις εδοµένων µε χρήση ένδρων (R-trees,

Transcript:

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 6: Δομές ευρετηρίων για αρχεία Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών, Ε.Κ.Ε.Φ.Ε. Δημόκριτος Τηλ.: 210-6503197, Fax: 210-6532175, {vangelis, akrithara, petasis}@iit.demokritos.gr Ακαδημαϊκό Έτος: 2016 2017 Τεχνολογίες Πληροφορικής στην Ιατρική και τη Βιολογία, 2016 2017

19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία < 1 > Οι διαφάνειες αυτού του σεμιναρίου βασίζονται σε διαφάνειες των: Δ. Γουνόπουλος, Ι. Ιωαννίδης http://eclass.uoa.gr/modules/document/document.php?course=d463&opendir=/4c2b32a5i4iq

ΚΕΦΑΛΑΙΟ 18 Δομές ευρετηρίων για αρχεία Copyright 2011 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Δίαυλος Σεμινάριο 6, Δομές ευρετηρίων για αρχεία

Θα μιλήσουμε για Τύποι Ταξινομημένων Ευρετηρίων ενός επιπέδου Πρωτεύοντα Ευρετήρια Ευρετήρια Συστάδες Δευτερεύοντα Ευρετήρια Ευρετήρια Πολλών επιπέδων Δυναμικά Ευρετήρια Πολλών Επιπέδων με χρήση Β-Δένδρων και Β + -Δένδρων Ευρετήρια σε Πολλαπλά Κλειδιά Ευρετήρια χωρικών δεδομένων με χρήση R- Δέντρων 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 3

Ευρετήρια σαν Μέθοδοι Προσπέλασης Ένα ευρετήριο ενός επιπέδου είναι ένα βοηθητικό αρχείο που κάνει πιο αποτελεσματική την αναζήτηση μιας εγγραφής σε ένα αρχείο δεδομένων. Το ευρετήριο συνήθως ορίζεται σε ένα πεδίο του αρχείου (αν και μπορεί να ορισθεί σε πολλά πεδία) Μια μορφή ευρετηρίου είναι ένα αρχείο με καταχωρήσεις <τιμή πεδίου, δείκτης στην εγγραφή>, που είναι ταξινομημένο με τιμή πεδίου Το ευρετήριο λέγεται δρόμος προσπέλασης στο πεδίο. 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 4

Ευρετήρια σαν Μέθοδοι Προσπέλασης (συνέχεια) Το αρχείο του ευρετηρίου συνήθως καταλαμβάνει σημαντικά μικρότερο πλήθος μπλοκ από ότι το αρχείο δεδομένων επειδή οι καταχωρήσεις του είναι κατά πολύ μικρότερες Μια δυαδική αναζήτηση στο ευρετήριο παράγει ένα δείκτη στην εγγραφή του αρχείου Τα ευρετήρια μπορούν επίσης να χαρακτηρισθούν σαν πυκνά ή αραιά Ένα πυκνό ευρετήριο έχει μια καταχώρηση ευρετηρίου για κάθε αναζήτηση τιμής κλειδιού (και επομένως κάθε εγγραφή) στο αρχείο δεδομένων. Ένα αραιό (ή μη πυκνό) ευρετήριο, από την άλλη, έχει καταχωρήσεις ευρετηρίου μόνο για κάποιες από τις τιμές αναζήτησης. 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 5

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

Πρωτεύον ευρετήριο στο πεδίο κλειδί ταξινόμησης 19:09 Σεμινάριο 4, Δομές ευρετηρίων για αρχεία 7

Ευρετήρια σαν Μέθοδοι Προσπέλασης (συνέχεια) Παράδειγμα 1: Έστω το αρχείο δεδομένων ΕΡΓΑΖΟΜΕΝΟΣ(ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ, ΔΙΕΥΘΥΝΣΗ, ΕΡΓΑΣΙΑ, ΜΙΣΘΟΣ,... ) Υποθέστε ότι: μέγεθος εγγραφής R=100 bytes, μέγεθος μπλοκ B=1024 bytes, r=30.000 εγγραφές Τότε, έχουμε: παράγοντας ομαδοποίησης Bfr= B/R= 1024/100= 10 εγγραφές/μπλοκ πλήθος μπλοκ αρχείου b= (r/bfr)= (30.000/10)= 3.000 μπλοκ Κόστος μέσης γραμμικής αναζήτησης: (b/2)= 3.000/2= 1.500 προσπελάσεις μπλοκ Αν οι εγγραφές του αρχείου είναι ταξινομημένες, η δυαδική αναζήτηση είναι: log 2 b= log 2 3.000= 12 προσπελάσεις μπλοκ Για ένα ευρετήριο στο πεδίο ΑΡ_ΤΑΥΤ, υποθέστε μέγεθος πεδίου V ΑρΤΑΥΤ = 9 bytes, υποθέστε μέγεθος δείκτη εγγραφής P R =6 bytes. Τότε: μέγεθος καταχώρησης ευρετηρίου R I =(V SSN + P R )=(9+6)=15 bytes παράγοντας ομαδοποίησης ευρετηρίου Bfr I = B/R I = 1024/15= 68 κατχ/μπλοκ πλήθος μπλοκ ευρετηρίου b i = (r i / Bfr I )= (3.000/68)= 45 μπλοκ η δυαδική αναζήτηση απαιτεί log 2 b i = log 2 45= 6 μπλοκ προσπελάσεις μία επιπλέον προσπέλαση μπλοκ στο αρχείο δεδομένων (6+1=7) 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 8

Τύποι Ευρετηρίων ενός Επιπέδου Ευρετήριο Συστάδα Ορίζεται σε ένα ταξινομημένο αρχείο Το αρχείο δεδομένων είναι ταξινομημένο σε ένα πεδίο που δεν είναι κλειδί, σε αντίθεση από το πρωτεύον ευρετήριο, που απαιτεί ότι το πεδίο ταξινόμησης στο αρχείο δεδομένων έχει μια διακριτή τιμή για κάθε εγγραφή. Περιλαμβάνει μια καταχώρηση ευρετηρίου για κάθε διακριτή τιμή του πεδίου η καταχώρηση ευρετηρίου δείχνει στο πρώτο μπλοκ δεδομένων που περιέχει εγγραφές με αυτή την τιμή πεδίου. Είναι ένα ακόμη παράδειγμα μη πυκνού ευρετηρίου όπου η εισαγωγή και η διαγραφή είναι σχετικά εύκολη με ένα ευρετήριο συστάδα. 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 9

Ένα παράδειγμα ευρετηρίου συστάδας Ένα ευρετήριο συστάδα στο πεδίο ταξινόμησης ΚΩΔ_ΤΜΗΜ που δεν είναι κλειδί στο αρχείο ΕΡΓΑΖΟΜΕΝΟΣ. 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 10

Ένα ακόμη παράδειγμα ευρετηρίου συστάδας 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 11

Τύποι Ευρετηρίων ενός Επιπέδου Δευτερεύον Ευρετήριο Ένα δευτερεύον ευρετήριο υποστηρίζει ένα δευτερεύοντα τρόπο προσπέλασης ενός αρχείου για το οποίο υπάρχει ήδη πρωτεύουσα οργάνωση. Το δευτερεύον ευρετήριο μπορεί να είναι σε ένα πεδίο που είναι υποψήφιο κλειδί και έχει μοναδική τιμή σε κάθε εγγραφή, ή ένα πεδίο που δεν είναι κλειδί με διπλές τιμές. Το ευρετήριο είναι ένα ταξινομημένο αρχείο με δύο πεδία. Το πρώτο πεδίο είναι ίδιου τύπου δεδομένων με κάποιο πεδίο που δεν είναι κλειδί του αρχείου δεδομένων και ονομάζεται πεδίο ευρετηρίου. Το δεύτερο πεδίο είναι δείκτης μπλοκ ή δείκτης εγγραφής. Μπορεί να υπάρχουν πολλά δευτερεύοντα ευρετήρια (και επομένως, πεδία ευρετηρίασης) για το ίδιο αρχείο. Περιλαμβάνει μια καταχώρηση για κάθε εγγραφή στο αρχείο δεδομένων επομένως, είναι ένα πυκνό ευρετήριο. 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 12

Πυκνό Δευτερεύον Ευρετήριο προς κάποιο μη διατεταγμένο πεδίο κλειδιού ενός αρχείου 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 13

Ευρετήρια σαν Μέθοδοι Προσπέλασης Παράδειγμα 2: Έστω το αρχείο δεδομένων ΕΡΓΑΖΟΜΕΝΟΣ(ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ, ΔΙΕΥΘΥΝΣΗ, ΕΡΓΑΣΙΑ, ΜΙΣΘΟΣ,... ) Υποθέστε ότι: μέγεθος εγγραφής R=100 bytes, μέγεθος μπλοκ B=1024 bytes, r=30.000 εγγραφές Τότε, έχουμε: παράγοντας ομαδοποίησης Bfr= B/R= 1024/100= 10 εγγραφές/μπλοκ πλήθος μπλοκ αρχείου b= (r/bfr)= (30.000/10)= 3.000 μπλοκ Κόστος μέσης γραμμικής αναζήτησης: (b/2)= 3.000/2= 1.500 προσπελάσεις μπλοκ Για ένα δευτερεύων ευρετήριο στο πεδίο ΜΙΣΘΟΣ, υποθέστε μέγεθος πεδίου V ΜΙΣΘΟΣ = 9 bytes, υποθέστε μέγεθος δείκτη εγγραφής P R =6 bytes. Τότε: μέγεθος καταχώρησης ευρετηρίου R I =(V SSN + P R )=(9+6)=15 bytes παράγοντας ομαδοποίησης ευρετηρίου Bfr I = B/R I = 1024/15= 68 κατχ/μπλοκ πλήθος μπλοκ ευρετηρίου b i = (r i / Bfr I )= (30.000/68)= 442 μπλοκ η δυαδική αναζήτηση απαιτεί log 2 b i = log 2 442= 9 μπλοκ προσπελάσεις μία επιπλέον προσπέλαση μπλοκ στο αρχείο δεδομένων (9+1=10) 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 14

Δευτερεύον Ευρετήριο ως προς πεδίο που δεν είναι κλειδί 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 15

Τύποι Ευρετηρίων Πεδίο Ευρετηρίου που χρησιμοποιείται για τη φυσική διάταξη του αρχείου Το πεδίο ευρετηρίου δεν χρησιμοποιείται για τη φυσική διάταξη του αρχείου Πεδίο Κλειδί Πρωτεύον Ευρετήριο Δευτερεύον Ευρετήριο (κλειδί) Πεδίο μη κλειδί Ευρετήριο Συστάδων Δευτερεύον Ευρετήριο (μη κλειδί) 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 16

Ιδιότητες Τύπων Ευρετηρίων Τύπος Ευρετηρίου Πλήθος Καταχωρήσεων του Ευρετηρίου (Πρώτου επιπέδου) Πυκνό ή Μη Πυκνό Άγκυρες μπλοκ στο Αρχείο Δεδομένων Πρωτεύον Ευρετήριο Πλήθος μπλοκ του αρχείου δεδομένων Μη Πυκνό Ναι Ευρετήριο Συστάδων Πλήθος διαφορετικών τιμών του πεδίου ευρετηρίασης Μη Πυκνό Ναι/Όχι Δευτερεύον Ευρετήριο πάνω σε πεδίο-κλειδί Πλήθος εγγραφών αρχείου δεδομένων Πυκνό Όχι Δευτερεύον Ευρετήριο πάνω σε πεδίο-μη κλειδί Πλήθος εγγραφών ή πλήθος διαφορετικών τιμών του πεδίου ευρετηριοποίησης Πυκνό ή Μη Πυκνό Όχι 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 17

Ευρετήρια Πολλών Επιπέδων Επειδή ένα ευρετήριο ενός επιπέδου είναι ένα ταξινομημένο αρχείο, μπορούμε να δημιουργήσουμε ένα πρωτεύον ευρετήριο στο ίδιο το ευρετήριο. Στην περίπτωση αυτή, το αρχικό αρχείο ευρετηρίου ονομάζεται πρώτο επίπεδο ευρετηρίου και το ευρετήριο του ευρετηρίου ονομάζεται δεύτερο επίπεδο ευρετηρίου. Μπορούμε να επαναλάβουμε τη διαδικασία αυτή, δημιουργώντας ένα τρίτο, τέταρτο... επίπεδο, μέχρι που όλες οι καταχωρήσεις στο ψηλότερο επίπεδο να χωράνε σε ένα μπλοκ μνήμης. Ένα ευρετήριο πολλών επιπέδων μπορεί να δημιουργηθεί οποιοδήποτε τύπο ευρετηρίου πρώτου επιπέδου (πρωτεύον, δευτερεύον, συστάδα) όσο το πρώτο επίπεδο ευρετηρίου αποτελείται από περισσότερα από ένα μπλοκ δίσκου 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 18

Πρωτεύον Ευρετήριο δύο επιπέδων 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 19

Ευρετήρια σαν Μέθοδοι Προσπέλασης Παράδειγμα 3: Έστω το αρχείο δεδομένων ΕΡΓΑΖΟΜΕΝΟΣ(ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ, ΔΙΕΥΘΥΝΣΗ, ΕΡΓΑΣΙΑ, ΜΙΣΘΟΣ,... ) Υποθέστε ότι: μέγεθος εγγραφής R=100 bytes, μέγεθος μπλοκ B=1024 bytes, r=30.000 εγγραφές Για ένα δευτερεύων ευρετήριο στο ένα πεδίο, υποθέστε μέγεθος πεδίου V ΑρΤΑΥΤ = 9 bytes, υποθέστε μέγεθος δείκτη εγγραφής P R =6 bytes. Τότε: μέγεθος καταχώρησης ευρετηρίου R I =(V SSN + P R )=(9+6)=15 bytes παράγοντας ομαδοποίησης ευρετηρίου Bfr I = 1024/15= 68 κατχ/μπλοκ πλήθος μπλοκ ευρετηρίου b 1 = (r 1 / Bfr i )= (30.000/68)= 442 μπλοκ πλήθος μπλοκ ευρετηρίου b 2 = (b 1 / Bfr i )= (442/68)= 7 μπλοκ πλήθος μπλοκ ευρετηρίου b 3 = (b 2 / Bfr i )= (7/68)= 1 μπλοκ Προσπέλαση ενός μπλοκ από κάθε επίπεδο συν ένα μπλοκ από το αρχείο δεδομένων (3+1=4 προσπελάσεις μπλοκ) 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 20

Ευρετήρια Πολλών επιπέδων Ένα τέτοιο ευρετήριο πολλών επιπέδων είναι μια μορφή δένδρου αναζήτησης Ωστόσο, η εισαγωγή και η διαγραφή καταχωρήσεων στο ευρετήριο αποτελεί σοβαρό πρόβλημα επειδή κάθε επίπεδο του ευρετηρίου είναι ένα ταξινομημένο αρχείο. 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 21

Δενδρική Δομή Δεδομένων 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 22

Ένας κόμβος σε ένα δέντρο αναζήτησης με δείκτες στα υποδέντρα του 19:09 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 23

Ένας κόμβος σε ένα δέντρο αναζήτησης τάξεως p=3 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 24

Δυναμικά Πολυεπίπεδα Ευρετήρια με Χρήση B-Δένδρων και B+-Δένδρων Τα περισσότερα ευρετήρια πολλών επιπέδων χρησιμοποιούν δομές δεδομένων B-δένδρων ή B+-δένδρων λόγω του προβλήματος εισαγωγής και διαγραφής Αυτό αφήνει σε κάθε κόμβο του δένδρου (μπλοκ στο δίσκο) ελεύθερο χώρο για νέες καταχωρήσεις Αυτές οι δομές δεδομένων αποτελούν παραλλαγές των δένδρων αναζήτησης που υποστηρίζουν αποτελεσματική εισαγωγή και διαγραφή νέων τιμών αναζήτησης αναζήτησης. Στις δομές δεδομένων B-δένδρων και B+-δένδρων, κάθε κόμβος αντιστοιχεί σε ένα μπλοκ του δίσκου Κάθε κόμβος είναι από γεμάτος ή μέχρι τη μέση Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 25

Δυναμικά Πολυεπίπεδα Ευρετήρια με Χρήση B-Δένδρων και B+-Δένδρων (συνέχεια) Η εισαγωγή σε ένα κόμβο που δεν είναι γεμάτος είναι πολύ αποδοτική Αν ένας κόμβος είναι γεμάτος η εισαγωγή προκαλεί διάσπαση σε δύο κόμβους Η διάσπαση μπορεί να διαδοθεί σε άλλα επίπεδα του δένδρου Μια διαγραφή είναι πολύ αποδοτική αν ένας κόμβος δεν πέφτει κάτω από το μισό Αν μια διαγραφή οδηγήσει σε κόμβο με λιγότερες από μισές καταχωρήσεις, πρέπει να συνενωθεί με γειτονικούς κόμβους Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 26

Διαφορά μεταξύ B-δένδρου και B + -δένδρου Σε ένα Β-δένδρου, υπάρχουν δείκτες προς εγγραφές δεδομένων σε όλα τα επίπεδα του δένδρου Σε ένα B + -δένδρο, όλοι οι δείκτες προς τις εγγραφές δεδομένων υπάρχουν στους κόμβους φύλα Ένα B + -δένδρο μπορεί να έχει λιγότερα επίπεδα (ή μεγαλύτερη χωρητικότητα τιμών αναζήτησης) από το αντίστοιχο B-δένδρο Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 27

Δομές Β-δέντρου Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 28

Οι κόμβοι ενός Β + -δέντρου (α) Εσωτερικός κόμβος ενός Β + -δέντρου με q-1 τιμές αναζήτησης (β) Κόμβος-φύλλο ενός Β + -δέντρου Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 29

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΕΙΣΑΓΩΓΗΣ: 8, 5, 1, 7, 3, 12, 9, 6 Δείκτης προς κόμβο δένδρου Δείκτης δεδομένων Δείκτης δένδρου με τιμή null 5 8 Εισαγωγή του 1: υπερχείλιση (νέο επίπεδο) 5 Εισαγωγή του 7 1 5 8 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 30

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΕΙΣΑΓΩΓΗΣ: 8, 5, 1, 7, 3, 12, 9, 6 5 Εισαγωγή του 3: υπερχείλιση (διάσπαση) 1 5 7 8 3 5 Εισαγωγή του 12: υπερχείλιση (διάσπαση, διαδίδεται, νέο επίπεδο) 1 3 5 7 8 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 31

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΕΙΣΑΓΩΓΗΣ: 8, 5, 1, 7, 3, 12, 9, 6 5 3 8 1 3 5 7 8 12 Εισαγωγή του 9 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 32

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΕΙΣΑΓΩΓΗΣ: 8, 5, 1, 7, 3, 12, 9, 6 5 3 8 1 3 5 7 8 9 12 Εισαγωγή του 6: υπερχείλιση (διάσπαση, διαδίδεται) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 33

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΕΙΣΑΓΩΓΗΣ: 8, 5, 1, 7, 3, 12, 9, 6 5 3 7 8 1 3 5 6 7 8 9 12 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 34

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΔΙΑΓΡΑΦΗΣ: 5, 12, 9 Διαγραφή του 5 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 35

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΔΙΑΓΡΑΦΗΣ: 5, 12, 9 Διαγραφή του 12: Υποχείλιση (ανακατανομή) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 36

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΔΙΑΓΡΑΦΗΣ: 5, 12, 9 Διαγραφή του 9: Υποχείλιση (συγχώνευση, με αριστερό κόμβο, και πάλι υποχείλιση, συνένωση επιπέδων) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 37

Ένα παράδειγμα εισαγωγής σε Β + -δέντρο ΑΚΟΛΟΥΘΙΑ ΔΙΑΓΡΑΦΗΣ: 5, 12, 9 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 38

Ευρετήρια σε πολλαπλά κλειδιά Δομή προσπέλασης πολλαπλών γνωρισμάτων Σύνθετα κλειδιά: Κλειδιά που περιλαμβάνουν πολλαπλά γνωρίσματα Ταξινομημένα ευρετήριο σε πολλαπλά γνωρίσματα Διαμερισμένος κατακερματισμός Δικτυωτά Αρχεία (grid files) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 39

Παράδειγμα δικτυωτού αρχείου Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 40

Ευρετηρίαση πολυδιάστατων δεδομένων Είναι το σχεσιακό μοντέλο των ΣΔΒΔ κατάλληλο για τα πολυδιάστατα δεδομένα (π.χ. χωρικά δεδομένα); Τα σχεσιακά ΣΔΒΔ παρέχουν απλούς τύπους τιμών, όπως αριθμοί και συμβολοσειρές Έννοια της ολικής διάταξης Τα δένδρα αναζήτησης είναι αποτελεσματικά για αριθμούς Οι έννοιες αυτές δεν έχουν ιδιαίτερο νόημα για τα χωρικά δεδομένα (π.χ. σημεία στο επίπεδο) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 41

Ευρετηρίαση πολυδιάστατων δεδομένων (συνέχεια) Εφαρμογές GIS (χάρτες): Πολεοδομικός σχεδιασμός, βελτιστοποίηση διαδρομής, έλεγχος φωτιάς ή ρύπανσης, κ.λπ. Άλλες εφαρμογές: Σχεδιασμός VLSI, CAD/CAM, μοντελοποίηση ανθρώπινου εγκεφάλου, κλπ.. Παραδοσιακές εφαρμογές: Πολυμεσικές εγγραφές Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 42

Ευρετηρίαση πολυδιάστατων δεδομένων (συνέχεια) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 43

Ευρετηρίαση πολυδιάστατων δεδομένων (συνέχεια) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 44

Ευρετηρίαση πολυδιάστατων δεδομένων (συνέχεια) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 45

Ευρετηρίαση πολυδιάστατων δεδομένων (συνέχεια) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 46

Απλές χωρικές ερωτήσεις και λειτουργίες Το φυσικό μοντέλο παρέχει απλές λειτουργίες που χρειάζονται στην επίλυση χωρικών ερωτήσεων. Συνηθισμένες ερωτήσεις: Point query: Βρες όλα τα αντικείμενα που περικλείουν ένα δοθέν σημείο Range query: Βρες όλα τα αντικείμενα που βρίσκονται μέσα σε μια (συνήθως ορθογώνια) περιοχή Nearest neighbor query: Βρες το πλησιέστερο αντικείμενο σε σχέση με ένα σημείο Spatial Join (μεταξύ δύο συνόλων αντικειμένων): Βρες όλα τα ζεύγη αντικειμένων (ένα από κάθε σύνολο) που ικανοποιούν μια χωρική συνθήκη (συνήθως, overlap) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 47

Παραδείγματα χωρικών ερωτήσεων Point query Range query Nearest neighbor query Spatial Join Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 48

Η διαδικασία «Filter-Refinement» Επεξεργασία μίας χωρικής ερώτησης Q βήμα φιλτραρίσματος (Filter): βρες ένα σύνολο S που σίγουρα περιέχει και τις απαντήσεις του Q Με χρήση προσεγγιστικών χωρικών τύπων και λειτουργιών βήμα εκλέπτυνσης (Refinement): βρες τις ακριβείς απαντήσεις του Q κάνοντας χρήση ενός GIS για την επεξεργασία του S Με χρήση επακριβών χωρικών τύπων και λειτουργιών Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 49

Προσεγγιστικοί χωρικοί τύποι Minimum Bounding Rectangle (MBR) προσεγγίζει γραμμές, πολύγωνα, MBR(obj) είναι το μικρότερο ορθογώνιο παραλληλόγραμμο (παραλληλεπίπεδο κλπ.) που περιβάλλει το αντικείμενο obj και είναι παράλληλο με το καρτεσιανό σύστημα συντεταγμένων Τα MBRs χρησιμοποιούνται κατά κόρον από χωρικά ευρετήρια, π.χ. R-tree Οι αλγόριθμοι για χωρικές λειτουργίες σε MBRs είναι απλοί Τα Χωρικά ΣΔΒΔ επεξεργάζονται MBRs στο βήμα filter (για λόγους επίδοσης) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 50

Παράδειγμα MBR Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 51

Παράδειγμα filter refinement Range queries στο filter βήμα εκτελείται ο (προσεγγιστικός και πιο φθηνός) τελεστής overlap(mbr(a), Q) στο refinement βήμα εκτελείται ο (ακριβής αλλά και χρονοβόρος) τελεστής overlap(a, Q) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 52

Οργάνωση αρχείων & ευρετήρια Επαναχρησιμοποίηση εννοιών σχεσιακού φυσικού μοντέλου η έννοια της διάταξης (ordering) Οι καμπύλες διάσχισης χώρου (space filling curves) ορίζουν μία ολική διάταξη για τα σημεία Αυτή η ολική διάταξη βοηθάει στη χρήση διατεταγμένων αρχείων (ordered files) ή δένδρων αναζήτησης (search trees) π.χ. B-trees Αλλά μπορεί να οδηγήσει σε αναποτελεσματικούς υπολογισμούς! Καινοτόμες τεχνικές Χωρικά ευρετήρια, π.χ. δένδρα περιοχών (R-trees), δένδρα τεταρτημορίων (Quadtree), αρχεία πλέγματος (Gridfile) Παρέχουν καλύτερες αποδόσεις στους υπολογισμούς Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 53

Ευρετηρίαση χωρικών δεδομένων Τα MBRs χρησιμοποιούνται κατά κόρον από χωρικά ευρετήρια, π.χ. R-δένδρο Το R-δένδρο είναι επέκταση του Β + -δένδρου στις k διαστάσεις, όπου k>1. Στις δύο διαστάσεις τα χωρικά αντικείμενα στο R- δένδρο προσεγγίζονται από το ελάχιστο καλύπτον ορθογώνιο (minimum boundary rectangle MBR). Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 54

R-δένδρο Βασική ιδέα ΓενίκευσηB-tree σεχωρικά δεδομένα Ιδιότητες των R-trees Κάθε κόμβος αντιστοιχεί σε μία σελίδα του δίσκου Ισοζυγισμένα / Οι κόμβοι είναι ορθογώνια / Το ορθογώνιοπαιδί περιέχεται πλήρως εντός του ορθογωνίου-πατέρα Μπορεί να προκύψει χωρική επικάλυψη μεταξύ των κόμβων Η αναζήτηση γίνεται με κατάβαση στο δένδρο Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 55

R-δένδρα Ομαδοποίησε κοντινά ορθογώνια στους γονείς MBRs. Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 56

R-δένδρα π.χ. με F =4 Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 57

R-δένδρα Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 58

R-δένδρα: Οργάνωση κόμβων {(MBR; obj-ptr)} για φύλλα Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 59

R-δένδρα: Οργάνωση κόμβων {(MBR; node-ptr)} για μη-φύλλα Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 60

R-δένδρα: αναζήτηση εύρους Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 61

R-δένδρα: αναζήτηση εύρους Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 62

R-δένδρα: αναζήτηση εύρους Παρατηρήσεις: Κάθε κόμβος γονέας καλύπτει πλήρως τα παιδιά του Ένα MBR παιδί μπορεί να καλύπτεται από περισσότερους από έναν πατέρα αποθηκεύεται κάτω από ΜΟΝΟ ΈΝΑΝ από αυτούς. (π.χ., δεν χρειάζεται εξάλειψη διπλοτύπων) Ένα σημειακό ερώτημα μπορεί να ακολουθεί πολλές διακλαδώσεις. Όλα δουλεύουν για κάθε διάσταση Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 63

π.χ. ορθογώνιο Χ R-δένδρα: εισαγωγή Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 64

π.χ. ορθογώνιο Χ R-δένδρα: εισαγωγή Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 65

π.χ. ορθογώνιο Υ R-δένδρα: εισαγωγή Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 66

R-δένδρα: εισαγωγή π.χ. ορθογώνιο Υ : Επέκτεινε τον κατάλληλο γονέα Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 67

R-δένδρα: εισαγωγή π.χ. ορθογώνιο Υ : Επέκτεινε τον κατάλληλο γονέα Πώς μετράμε την καταλληλότητα ; Βρες το κατάλληλο που χρειάζεται την ελάχιστη επέκταση για να συμπεριλάβει το Y. Σε περίπτωση ισοπαλίας, επιλέγουμε το μικρότερο Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 68

π.χ. ορθογώνιο W R-δένδρα: εισαγωγή Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 69

π.χ. ορθογώνιο W R-δένδρα: εισαγωγή Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 70

R-δένδρα: εισαγωγή π.χ. ορθογώνιο W : Επικεντρώστε στο P1. Πώς να διαχωριστεί; A1: plane sweep, Μέχρι το 50% του ορθογωνίου) A2: linear split A3: quadratic split A4: exponential split Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 71

R-δένδρα: εισαγωγή & split Επιλέξτε δύο ορθογώνια ως πηγές Αναθέστε κάθε ορθογώνιο R στη πλησιέστερη πηγή Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 72

R-δένδρα: εισαγωγή & split Επιλέξτε δύο ορθογώνια ως πηγές Αναθέστε κάθε ορθογώνιο R στη πλησιέστερη πηγή Πώς μετράμε την εγγύτητα? Αυξάνοντας τη περιοχή (ένταση) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 73

R-δένδρα: εισαγωγή & split Επιλέξτε δύο ορθογώνια ως πηγές Αναθέστε κάθε ορθογώνιο R στη πλησιέστερη πηγή Πώς μετράμε την εγγύτητα? Αυξάνοντας τη περιοχή (ένταση) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 74

R-δένδρα: εισαγωγή & split Επιλέξτε δύο ορθογώνια ως πηγές Αναθέστε κάθε ορθογώνιο R στη πλησιέστερη πηγή Πώς μετράμε την εγγύτητα? Αυξάνοντας τη περιοχή (ένταση) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 75

Πώς επιλέγουμε πηγές ; Quadratic: Για κάθε ζεύγος E1 και E2, υπολόγισε το ορθογώνιο J=MBR(E1, E2) και d= J-E1-E2. Επέλεξε το ζευγάρι με το μεγαλύτερο d. Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 76

R-δένδρα: εισαγωγή & split Επιλέξτε δύο ορθογώνια ως πηγές Αναθέστε κάθε ορθογώνιο R στη πλησιέστερη πηγή Επιλέξτε σε ποιον πατέρα θα εισάγετε το νέο ορθογώνιο ( πλησιέστερο πατέρα) Αν υπερχειλίσει, διαχωρίστε σε δύο, χρησιμοποιώντας (έστω) τον quadratic split αλγόριθμο Διαδώστε το διαχωρισμό προς τα πάνω, αν χρειάζεται ενημερώστε τους MBRs των επηρεαζόμενων πατέρων. Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 77

R-δένδρα: Διαγραφή Διαγραφή ορθογωνίου Αν υπερχειλίσει Προσωρινά διαγράψτε όλα τους συγγενείς(!) Διαγράψτε τον πατρικό κόμβο και Επανα-εισάγετε τους Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 78

R-δένδρα: ΝΝ αναζήτηση Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 79

Πώς; R-δένδρα: ΝΝ αναζήτηση Βρες τον πλησιέστερο γείτονα, εκλέπτυνε... Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 80

R-δένδρα: ΝΝ αναζήτηση Μία προσέγγιση: Ουρές προτεραιότητας, με υποσχόμενα MBRs και την βέλτιστη και χείριστη απόσταση Θεωρούμε μόνο τα P2 και P4, χάριν παραδείγματος Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 81

R-δένδρα: ΝΝ αναζήτηση Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 82

R-δένδρα: Spatial joins Βρες όλους του νομούς που τέμνουν τις λίμνες Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 83

R-δένδρα: Spatial joins Υπέθεσε ότι είναι οργανωμένα σε R-δέντρα Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 84

R-δένδρα: Spatial joins Για κάθε πατέρα P1 του δένδρου T1 Για κάθε πατέρα P2 του δένδρου T2 Αν το MBRs τους τέμνει, Επεξεργαστείτε τα αναδρομικά (πχ., ελέγξτε τα παιδιά τους) Βελτιώσεις-παραλλαγές: [Seeger+, sigmod92]: κάνε κάποια προ-επεξεργασία, κάνε planesweeping για να αποφύγετε N1 * N2 ελέγχου ςγια τομές [Lo & Ravishankar, sigmod94]: seeded R-trees (πολλές δημοσιεύσεις πάνω σε spatial joins, χωρίς R-trees: [Koudas+ Sevcik], κτλ.) Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 85

Παραλλαγές των R-δένδρων R+-tree: Δεν επιτρέπεται η επικάλυψη μεταξύ φύλλων και κόμβων, και υιοθετείται η τεχνική της αποκοπής (clipping) R*-tree: Βασίζεται στο αρχικό R-tree με μία παραλλαγή στον αλγόριθμο εισαγωγής του. Packed Hilbert R-tree: Κατασκευή bottom up, έχοντας πρώτα διατάξει τα αντικείμενα που θα εισαχθούν κατά τη σειρά Hilbert Αλγόριθμοι: Αναζήτηση σημείου, εύρους, πλησιέστερου γείτονα Χωρική σύνδεση Τοπολογικές αναζητήσεις Εφαρμογές: Χωρικές Βάσεις Χωροχρονικές Βάσεις - Κινούμενα αντικείμενα Βάσεις πολυμέσων Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 86

Σύνοψη Τύποι διατεταγμένων ευρετηρίων ενός επιπέδου Πρωτεύοντα ευρετήρια Ευρετήρια Συστάδες Δευτερεύοντα Ευρετήρια Ευρετήρια πολλών επιπέδων Δυναμικά ευρετήρια πολλών επιπέδων με χρήση B-δένδρων και B + -δένδρων Ευρετήρια σε πολλά κλειδιά Ευρετήρια χωρικών δεδομένων R-δένδρα Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 87

Αναφορές Christos Faloutsos and Ibrahim Kamel. Beyond Uniformity and Independence: Analysis of R-trees Using the Concept of Fractal Dimension. Proc. ACM PODS, 1994. Yannis Theodoridis and Timos Sellis. A Model for the Prediction of Rtree Performance. Proc. ACM PODS, 1996. Σεμινάριο 6, Δομές ευρετηρίων για αρχεία 88