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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Διδάσκων: Παναγιώτης Ανδρέου

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

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Οργάνωση εδομένων Κεφάλαιο 11ο ομές εδομένων

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

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

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

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

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

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

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

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

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

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2

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

Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

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

ΓΙΑΝΝΗΣ ΘΕΟ ΩΡΙ ΗΣ 7.2 ΑΝΤΙΚΕΙΜΕΝΟ

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

ΜΕΡΟΣ Ι: ΓΕΩΓΡΑΦΙΚΑ Ε ΟΜΕΝΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΓΕΩΓΡΑΦΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ Η ΦΥΣΗ ΤΩΝ ΓΕΩΓΡΑΦΙΚΩΝ Ε ΟΜΕΝΩΝ...

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1

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

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

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

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

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

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

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

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

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ

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

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

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Advanced Data Indexing

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

Advanced Data Indexing

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Μεγίστου Σφάλµατος. Παναγιώτης Καρράς. Αθήνα, 26 Αυγούστου 2005

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

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Διδάσκων: Παναγιώτης Ανδρέου

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

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

Δέντρα Απόφασης (Decision(

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τεχνικές Προσπέλασης σε Πολυδιάστατες Βάσεις εδοµένων µε χρήση ένδρων (R-trees, GiST) Κ. Πατρούµπας 28 Μαΐου 2004 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 1

Το R-δένδρο: Κίνητρα Συµβατικές µέθοδοι δεικτοδότησης στις βάσεις δεδοµένων: Κατακερµατισµός (hashing): χρήσιµος κυρίως για ισότητα τιµών B-δένδρα: υποθέτουν ολική διάταξη των στοιχείων (λ.χ. ακέραιοι) Είναι όµως ανεπαρκείς: Για πολυδιάστατα δεδοµένα (λ.χ. σχήµατα στο χώρο), Όταν τα ερωτήµατα καλύπτουν ένα εύρος (range) µιας περιοχής. Παλαιότερες πολυδιάστατες δοµές: Quad-trees k-d trees K-D-B trees Grid files, R-δένδρο (1984): Προσαρµογή του Β-δένδρου για πολυδιάστατα δεδοµένα. Αναπαράσταση αντικειµένων από διαστήµατα τιµών σε κάθε διάσταση. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 2

Η δοµή του R-δένδρου Φύλλα Περιέχουν στοιχεία της µορφής (I, tuple-id), όπου: Ι το n-διάστατο ελάχιστο περιβάλλον παραλληλόγραµµο του χωρικού αντικειµένου, tuple-id ο δείκτης στην αντίστοιχη πλειάδα της βάσης δεδοµένων. Εσωτερικοί κόµβοι Περιέχουν στοιχεία της µορφής (I, child-pointer), όπου : Ι το n-διάστατο ελάχιστο περιβάλλον παραλληλόγραµµο που καλύπτει όλους τους απογόνους στο υποδένδρο του κόµβου, child-pointer ο δείκτης σε ένα παιδί του κόµβου. Μ ο µέγιστος αριθµός στοιχείων σε κάθε κόµβο. m M/2, ο ελάχιστος αριθμός στοιχείων ανά κόμβο. Ιδιότητες Ο αριθμός των στοιχείων κάθε φύλλου ή εσωτερικού κόμβου κυμαίνεται μεταξύ m και M, εκτός αν είναι η ρίζα. Η ρίζα έχει τουλάχιστον δύο παιδιά, εκτός κι αν είναι φύλλο. Όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 3

Ιδιότητες του R-δένδρου Ρίζα m=2 M=4 Φύλλα: δείχνουν στα περιεχόµενα της βάσης δεδοµένων Τα παραλληλόγραµµα του ίδιου επιπέδου µπορεί να επικαλύπτονται. Το παραλληλόγραµµο ενός κόµβου καλύπτει πλήρως όλα τα παραλληλόγραµµα των κόµβων του υποδένδρου του. Το ύψος του δένδρου είναι το πολύ log m N -1, όπου m ο ελάχιστος αριθµός στοιχείων σε κάθε κόµβο και Ν ο συνολικός αριθµός πλειάδων. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 4

Αναζητήσεις στο R-δένδρο Ερωτήµατα σηµείου ή περιοχής Η αναζήτηση µπορεί να ακολουθήσει πολλαπλά µονοπάτια µέχρι τα φύλλα. Η αναζήτηση ξεκινά από τη ρίζα και εντοπίζει τους σχετικούς κόµβους. ιασχίζει τα αντίστοιχα υποδένδρα των κόµβων και συνεχίζει αναδροµικά µέχρι να φτάσει στο επίπεδο των φύλλων. Ψάχνει στα φύλλα, επιστρέφοντας εκείνα των οποίων τα παραλληλόγραµµα περιέχουν το σηµείο ή επικαλύπτουν την περιοχή. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 5

Εισαγωγές στοιχείων στο R-δένδρο ιάσχιση του δένδρου από τη ρίζα προς τα φύλλα, επιλέγοντας τους κόµβους που τα παραλληλόγραµµά τους περιλαµβάνουν το αντικείµενο. Επιλέγεται ο κόµβος που το παραλληλόγραµµό του χρειάζεται τη µικρότερη επέκταση ώστε να χωρέσει το νέο αντικείµενο Συνέχισε µέχρι τα φύλλα. Αν υπάρχει ελεύθερη θέση, το στοιχείο προστίθεται (µε πιθανή ανακατάταξη του δένδρου προς τα πάνω). Αν όχι, πρέπει να δηµιουργηθεί νέο φύλλο, και να γίνει διάσπαση. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 6

Εισαγωγές στοιχείων στο R-δένδρο (συνέχεια), (a) R S (b) (a) ηµιουργία νέου φύλλου και ανακατανοµή των στοιχείων µε τον αριστερό αδελφό του. (b) Αυξάνει ο αριθµός των επιπέδων και ανακατανέµονται τα στοιχεία της ρίζας 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 7

ιάσπαση κόµβων στο R-δένδρο Το πρόβληµα: Πρέπει να µοιραστούν Μ+1 στοιχεία µεταξύ δύο κόµβων, ώστε να ελαχιστοποιηθεί ο αριθµός των κόµβων που θα χρειαστεί να ελεγχθούν σε προσεχείς αναζητήσεις. Το κριτήριο: Η συνολική επιφάνεια των παραλληλογράµµων των δύο κόµβων µετά τη διάσπαση θα πρέπει να είναι η ελάχιστη δυνατή. Αλγόριθµοι διάσπασης κόµβων: Εξαντλητικός (έλεγξε όλους τους O(2 M-1 ) συνδυασµούς): Εκθετικός! Τετραγωνικού κόστους O(M 2 ). Επιλογή δύο στοιχείων-σπόρων: δηλ. εκείνο το ζεύγος που αν περιληφθεί στην ίδια οµάδα, τότε θα σπαταληθεί ο περισσότερος «νεκρός χώρος». Για κάθε επόµενο στοιχείο, διάλεξε για εισαγωγή εκείνο που επιφέρει τη µικρότερη επιβάρυνση στο µέγεθος του παραλληλογράµµου κάθε οµάδας. Γραµµικού κόστους O(M). Βρες τα πιο ακραία παραλληλόγραµµα κάθε διάστασης και διάλεξε εκείνο µε τη µεγαλύτερη απόσταση. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 8

ιαγραφές στοιχείων από το R-δένδρο Αναζήτηση του φύλλου που περιέχει το αντικείµενο. Έλεγχος σε όλα τα υποδένδρα που έχουν επικάλυψη. Το στοιχείο θα υπάρχει µόνο σε ένα φύλλο (αν όντως υπάρχει). Αν το στοιχείο βρεθεί, διάγραψέ το από το φύλλο όπου περιέχεται. Αναδιοργάνωση του δένδρου από τα φύλλα προς τη ρίζα: Αν κάποιος κόµβος ή φύλλο βρεθεί µε λιγότερα από m στοιχεία, τότε διάγραψέ τον και κράτησε τα στοιχεία του σε µια λίστα. Προσαρµογή των παραλληλογράµµων στους κόµβους. Προώθηση των αλλαγών προς τα ανώτερα επίπεδα. Ανατοποθέτηση των «ορφανών» στοιχείων (µε εισαγωγές). Αν τελικά η ρίζα βρεθεί µε ένα µόνο παιδί, τότε διάγραψέ την και κάνε ρίζα το µοναδικό της παιδί (µείωση επιπέδων του δένδρου). ιαφορά σε σχέση µε το Β-δένδρο: ΕΝ γίνεται συγχώνευση γειτονικών κόµβων, αλλά επανεισαγωγές. Τα στοιχεία υπάρχουν στη µνήµη (προγενέστερη αναζήτηση). υναµική «εξυγίανση» της δενδρικής δοµής. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 9

Ενηµερώσεις στοιχείων στο R-δένδρο Ενηµέρωση ενός αντικειµένου συνεπάγεται αλλαγή του ελάχιστου περιβάλλοντος παραλληλογράµµου του. Το αντίστοιχο στοιχείο πρέπει να βρεθεί στα φύλλα και να διαγραφεί. Το νέο ενηµερωµένο στοιχείο θα πρέπει να επανεισαχθεί στην κατάλληλη θέση στο δένδρο. Το πρόβληµα µε τις επανεισαγωγές: Η ποιότητα εξαρτάται από τη σειρά εισαγωγής των στοιχείων. Μπορεί να παρατηρηθεί πολύς «νεκρός χώρος» (dead space). 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 10

Επιδόσεις του R-δένδρου Εισαγωγές: λίγες διασπάσεις µε τον γραµµικό αλγόριθµο. Αναζητήσεις: πολύ λίγο επηρεάζονται από τον αλγόριθµο διάσπασης. Χώρος: πρακτικά καταλαµβάνεται κυρίως από τα φύλλα (το ύψος του δένδρου παραµένει σχετικά µικρό). 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 11

Παραλλαγές: R + -δένδρο ιπλότυπα εν υπάρχουν επικαλύψεις µεταξύ παραλληλογράµµων για τους κόµβους του ίδιου επιπέδου. Ι ΕΑ: Επιτρέπεται ο διαµελισµός παραλληλογράµµων σε στοιχεία εσωτερικών κόµβων, ώστε να µην υπάρχει επικάλυψη. Άρα, στοιχεία µπορεί να αποθηκευτούν σε >1 φύλλα (διπλότυπα). Στα φύλλα επιτρέπονται επικαλύψεις παραλληλογράµµων. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 12

Παραλλαγές: R + -δένδρο (συνέχεια) Στόχος: Να περιοριστεί το κόστος αναζητήσεων. Η περιοχή του ερωτήµατος διασπάται σε υποπεριοχές και ακολουθούνται λιγότερα µονοπάτια µέχρι τα φύλλα. Απαιτείται περισσότερος χώρος και το δένδρο αυξάνει σε ύψος. ιάσπαση κόµβων: Πιο πολύπλοκη από το R-tree, γιατί µπορεί να διαδίδεται αναδροµικά τόσο σε ανώτερα όσο και σε κατώτερα επίπεδα του δένδρου (εξαιρούνται τα φύλλα). Επιδόσεις: Καλύτερη συµπεριφορά σε σχέση µε το R-tree, όσον αφορά ερωτήµατα σηµείου (αλλά µε περισσότερες απαιτήσεις σε χώρο). Χειρίζεται αποτελεσµατικότερα µεγάλα αντικείµενα. Τεχνική συµπύκνωσης για διευκόλυνση των αναζητήσεων. Αν δεν υπάρχουν συχνές αλλαγές, συµφέρει οι κόµβοι να είναι πλήρεις. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 13

Παραλλαγές: R * -δένδρο ιαπίστωση: Ο τρόπος εισαγωγής είναι κρίσιµος για τις αναζητήσεις. Να περιοριστούν οι επικαλύψεις µεταξύ κόµβων. Να ελαχιστοποιηθεί η περιοχή που καλύπτεται από τους κόµβους. Εισαγωγή στοιχείων: ελαχιστοποίηση της περιµέτρου των παραλληλογράµµων, όχι της επιφάνειάς τους (όπως στα R, R+-δένδρα). Αλγόριθµος διάσπασης: Επιλογή του άξονα µε τη µικρότερη συνολική επικάλυψη. Επιλογή του παραλληλογράµµου που θα χρειαστεί µικρότερη επέκταση. Προβληµατικός κόµβος ιάσπαση σε R-δένδρο ιάσπαση σε R*-δένδρο 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 14

Παραλλαγές: R * -δένδρο (συνέχεια) Ι ΕΑ: Αναγκαστικές επανεισαγωγές στοιχείων. Όταν ένας κόµβος υπερχειλίζει, αντί να διασπαστεί, του αφαιρείται ένα ποσοστό των στοιχείων του (γύρω στο 30%) που σπαταλούν περισσότερο χώρο. Αυτά τα στοιχεία επανεισάγονται. Αποτέλεσµα: τα στοιχεία µπορεί να χωρέσουν σε υπάρχοντες κόµβους και να µην χρειαστούν καθόλου διασπάσεις. Προβληµατικός κόµβος Επανεισαγωγή στοιχείου 3 Επανεισαγωγή στοιχείου 8 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 15

Οικογένεια R-δένδρων: Αξιολόγηση Η αναζήτηση µε το R-δένδρο επιστρέφει υποψήφιες απαντήσεις, που θα πρέπει να ελεγχθούν για την ακρίβειά τους. => Πρόσθετο κόστος. Ερωτήµατα περιοχής: πολλαπλά µονοπάτια στα R-δένδρα. εν υπάρχει εγγύηση για τον αριθµό των κόµβων (σελίδων) που πρέπει να εξεταστούν στην χειρότερη περίπτωση. Ερωτήµατα χωρικής σύνδεσης: συγχρονισµένη (depth-first) διάσχιση των δένδρων (συχνά τα quad-trees είναι αποτελεσµατικότερα). Ερωτήµατα εγγύτερου γείτονα σε πολλαπλές διαστάσεις: η απόσταση από το πιο αποµακρυσµένο σηµείο µικραίνει όσο αυξάνουν οι διαστάσεις. Σειραϊκή σάρωση: ίσως αποτελεσµατικότερη από το R-δένδρο, για δεδοµένα µε πάνω από 10 διαστάσεις. Έλεγχος ταυτόχρονων δοσοληψιών. Εισαγωγές: κάθε κόµβος κλειδώνεται και απελευθερώνεται όταν το παιδί του έχει θέση και το παραλληλόγραµµό του περιέχει το νέο αντικείµενο. => Πολλοί κόµβοι σε πολλαπλά µονοπάτια µπορεί να κλειδωθούν! ιαθέσιµα από εµπορικά συστήµατα: Oracle, Informix, PostgreSQL, 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 16

Γενικευµένα δένδρα αναζήτησης (GiST): Κίνητρα Επεκτασιµότητα γνωστών τεχνικών (B-δένδρα, R-δένδρα) σε πρόσθετους τύπους δεδοµένων (λ.χ. σύνολα τιµών). Επεκτασιµότητα στους τύπους ερωτηµάτων που µπορεί να υποστηριχθούν (ανάλογα µε τα δεδοµένα). Ευκολία κατασκευής δεικτών για νέους τύπους δεδοµένων. Γενικευµένη δενδρική δοµή για βάσεις δεδοµένων: τα B-δένδρα ή τα R-δένδρα υλοποιήσιµα ως επεκτάσεις του GiST. Κάθε κλειδί θα πρέπει να ικανοποιεί τις πλειάδες των υποδένδρων του: τα δεδοµένα µπορούν να οργανωθούν σε ένθετες υποκατηγορίες κάθε υποκατηγορία υπακούει σε ένα κατηγόρηµα (predicate) που ισχύει για όλα τα στοιχεία του υποδένδρου ιεραρχία διαµερίσεων για κάθε υποκατηγορία. Οµαδοποίηση σε κατηγορίες: αλγόριθµος διάσπασης (split). Χαρακτηρισµός των κατηγοριών: ορισµός κλειδιών αναζήτησης. => GiST (1995): Έξι τυποποιηµένες αντικειµενοστρεφείς µέθοδοι που υλοποιούν την αφηρηµένη λειτουργία των κλειδιών του δένδρου. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 17

Γενικευµένα δένδρα αναζήτησης: οµή Ισοζυγισµένο δένδρο. Τα φύλλα σε διασυνδεδεµένη λίστα. k ο παράγοντας ελάχιστης κατάληψης ανά κόµβο. Υψηλός παράγοντας διακλάδωσης (fanout) µεταξύ km και M. Σε κάθε κόµβο, κλειδιά και κατηγορήµατα (predicates). Τα κατηγορήµατα περιέχουν έναν αριθµό από ελεύθερες µεταβλητές, αρκεί να ικανοποιούν οποιαδήποτε πλειάδα σε κάθε υποδένδρο. Η ρίζα έχει τουλάχιστον δύο παιδιά, εκτός κι αν είναι φύλλο. Όλα τα φύλλα υπάρχουν στο ίδιο επίπεδο. ιαφορά µε R-δένδρο: εν είναι απαραίτητη ιεραρχική διατύπωση των κλειδιών κάθε κόµβου σε σχέση µε τους προγόνους του (orthogonal classification). 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 18

Γενικευµένα δένδρα αναζήτησης: Κλειδιά Συνάφεια : Consistent (entry, predicate) αποφασίζει τα υποδένδρα όπου θα συνεχιστεί η αναζήτηση (όσα ικανοποιούν το κατηγόρηµα, έλεγχος σε πολλαπλά µονοπάτια) Ένωση : Union (entry []) Συνένωση κατηγορηµάτων κόµβων σε ένα γενικό κατηγόρηµα Συµπίεση : Compress (entry E) των κατηγορηµάτων για µείωση χώρου στα κλειδιά Αποσυµπίεση : Decompress (entry E) αλλά πιθανόν µε απώλειες (lossy) Ποινή : Penalty (entry E1, entry E2) πόσο κοστίζει η εισαγωγή του Ε1 στο υποδένδρο µε ρίζα το Ε2. π.χ. στο R-δένδρο: ελάχιστη αύξηση των παραλληλογράµµων. ιάσπαση : PickSplit (entry E[]) αν ο κόµβος υπερβεί τα Μ στοιχεία, µοίρασε τα Μ+1 στοιχεία του σε δύο άλλους κόµβους, ο καθένας µε τουλάχιστον km στοιχεία. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 19

Γενικευµένα δένδρα αναζήτησης: Αλγόριθµοι Τυποποιηµένες λειτουργίες δένδρων: αναζήτηση, εισαγωγή, διαγραφή. γενικοί αλγόριθµοι ενηµέρωσης και προσπέλασης του GiST στα κλειδιά χρησιµοποιείται πληροφορία ανάλογα µε την εφαρµογή (λ.χ. παραλληλόγραµµα για R-δένδρα, διαστήµατα για B-δένδρα). Αναζήτηση: Ξεκίνα πάντα από τη ρίζα. ιάσχισε όλα τα µονοπάτια των οποίων τα κατηγορήµατα εµφανίζουν συνάφεια µε το ζητούµενο αντικείµενο. Στα φύλλα, κάνε τον τελικό έλεγχο στα πραγµατικά στοιχεία. Αν το πεδίο τιµών είναι γραµµικά διατεταγµένο (λ.χ. ακέραιοι σε Β-δένδρο), τότε τα στοιχεία εισάγονται διατεταγµένα στους κόµβους. => διάσχιση ενός µόνο µονοπατιού στο δένδρο: του αριστερότερου που εµφανίζει συνάφεια µε το αντικείµενο. Λειτουργία Next για την προσκόµιση του επόµενου στοιχείου στον κόµβο (αλλά ισχύει πάντα για τα φύλλα σε διασυνδεδεµένη λίστα) 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 20

Γενικευµένα δένδρα αναζήτησης: Αλγόριθµοι Εισαγωγή: Λογική παραπλήσια µε εκείνη των R-δένδρων: Ξεκίνα από τη ρίζα. Εντόπισε το φύλλο όπου πρέπει να γίνει η εισαγωγή. Σε κάθε επίπεδο του δένδρου, µπορεί να χρειαστεί να επιλεγεί το καταλληλότερο υποδένδρο: αυτό µε το µικρότερο κόστος (Penalty). Το κόστος εκτιµάται τοπικά σε επίπεδο κόµβου (όπως στα R-δένδρα). Βάλε το στοιχείο στο φύλλο. Αν χρειαστεί, διάσπασε το φύλλο και αναδιοργάνωσε το δένδρο διαδίδοντας τις αλλαγές προς τα πάνω. Προσάρµοσε τα κλειδιά των προγόνων, ώστε να αντιπροσωπεύουν ακριβώς τα σύνολα τιµών που περιέχονται στο υποδένδρο τους. ιαγραφή: Όπως στα R-δένδρα: µε επανεισαγωγές στοιχείων. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 21

Γενικευµένα δένδρα αναζήτησης: Εφαρµογές Το GiST χειρίζεται αναζητήσεις, εισαγωγές και διαγραφές. Οι υλοποιήσεις των µεθόδων για τα κλειδιά ορίζονται βάσει της εφαρµογής και των δεδοµένων που θα δεικτοδοτηθούν. Τρεις υλοποιήσεις: Β + -δένδρο για ακέραιες τιµές: ερωτήµατα ισότητας, εύρους τιµών. R-δένδρο για 2-διάστατα πολύγωνα: ερωτήµατα ισότητας, επικάλυψης, εγκλεισµού. µπορεί να εκφράσει τοπολογικές σχέσεις και άπειρες περιοχές. µπορεί να µιµηθεί και το R*-δένδρο, αλλά ΟΧΙ το R + -δένδρο. το R + -δένδρο παραβιάζει την ιεραρχία των διαµερίσεων των στοιχείων, αφού επιτρέπει διπλότυπα στα φύλλα. RD-δένδρο ( Russian Doll tree ) για χειρισµό πλειότιµων στοιχείων: ερωτήµατα ισότητας, επικάλυψης, εγκλεισµού. σύνολα ακεραίων τιµών στα κλειδιά κάθε κλειδί συµπεριλαµβάνει τα κλειδιά των παιδιών του. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 22

Γενικευµένα δένδρα αναζήτησης: Αξιολόγηση Επιδόσεις: Ποικίλουν ανάλογα µε το βαθµό επικάλυψης των κλειδιών στους κόµβους: Επικάλυψη δεδοµένων => επικάλυψη κλειδιών. Απώλεια πληροφορίας λόγω συµπίεσης στα κλειδιά. Λιγότερος κώδικας: µόνο οι µέθοδοι των κλειδιών χρειάζονται υλοποίηση. Ενιαίο πλαίσιο για τη δεικτοδότηση στοιχείων σε βάσεις δεδοµένων. Προεκτάσεις: Επέκταση για ερωτήµατα συνάθροισης και εγγύτερου γείτονα. Αντιµετώπιση ταυτόχρονων δοσοληψιών, ανάνηψη. ΤΕΛΙΚΑ: Πόσο αποτελεσµατικό µπορεί να είναι ένα δένδρο αναζήτησης για ερωτήµατα σε µη τυποποιηµένα πεδία τιµών; Θεωρία «δεικτοδοσιµότητας» (?!) (Indexability Theory). 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 23

Τεχνικές προσπέλασης σε πολυδιάστατες βάσεις δεδοµένων µε χρήση δένδρων Αναφορές [BKSS90]N. Beckman, H.-P. Kriegel, R. Schneider, and B. Seeger. The R*-tree: an Efficient and Robust Access Method for Points and Rectangles. In Proceedings of the 9th ACM SIGMOD International Conference on Management of Data, pp. 322-331, Atlantic City, May 1990. [GG98] V. Gaede, and O. Günther. Multidimensional Access Methods. ACM Computing Surveys, 30 (2): 170-231, 1998. [Gut84] A. Guttman. R-Trees: A Dynamic Index Structure for Spatial Searching. In Proceedings of the 3rd ACM SIGMOD International Conference on Management of Data, pp. 47-57, Boston, Massachusetts, June 1984. [HNP95] J. M. Hellerstein, J. F. Naugton, and A. Pfeffer. Generalized Search Trees for Database Systems. In Proceedings of the 21st International Conference on Very Large Data Bases, pp. 562-573, Zurich, 1995. [SRF87] T. Sellis, N. Roussopoulos, and C. Faloutsos. The R + -Τree: a Dynamic Index for Multidimensional Objects. In Proceedings of the 13th International Conference on Very Large Data Bases, pp. 507-518, Brighton, England, 1987. 28/5/2004 Προχωρηµένα Ερευνητικά Θέµατα Βάσεων εδοµένων 24