10. XML Αποθήκευση Δεδομένων: Relational vs. Native

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

5. Επερώτηση XML Εγγράφων: Εισαγωγή στη Γλώσσα XQuery

3. Επερώτηση XML Εγγράφων: Η Γλώσσα XPath

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

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

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

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

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

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

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

Επερωτήσεις σύζευξης με κατάταξη

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

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Σχεδιασμός Βάσεων Δεδομένων

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

Βάσεις Δεδομένων ΙΙ. Διάλεξη 5 η XML και ΒΔ στο Διαδίκτυο

ΝΤUA. Τεχνολογία Πολυμέσων

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

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

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

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

substructure similarity search using features in graph databases

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

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

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

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

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

Orchid: Integrating Schema Mapping and ETL ICDE 2008

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

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

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

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

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

Γλωσσική Τεχνολογία. HTML/XML Processing HTTP Services

Κεφάλαιο 5 ο : Αλγόριθµοι Σύγκρισης Ακολουθιών Βιολογικών εδοµένων

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

Βάσεις δεδομένων. Π. Φιτσιλής

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

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

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

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

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

Αυτοματοποιημένη χαρτογραφία

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

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

Πληροφοριακά Συστήματα Διοίκησης

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΝΤUA. Τεχνολογία Πολυμέσων

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

Information Technology for Business

Gemini, FastMap, Applications. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

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

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Μελέτη και Υλοποίηση Αλγορίθμων για Βιολογικές Εφαρμογές σε MapReduce Περιβάλλον

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

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

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

Πληροφοριακά Συστήµατα

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

JDSL Java Data Structures Library

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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ

Μαζικός Παραλληλισμός λ με Map - Reduce. Μοντέλο Θέματα υλοποίησης Παραδείγματα διαχείρισης δεδομένων

Συνόψεις για Δεδομένα XML με Ετερογενές Περιεχόμενο

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Επεξεργασία ερωτημάτων

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

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

Πληροφοριακά Συστήματα Διοίκησης

Κατανεμημένα Συστήματα Ι

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Βάσεις ιαδικτύου. Θέματα. Εισαγωγή στην XML. Ευρετήρια για την Ανάκτηση Κειμένων. Ο αλγόριθμος HITS. είναι η XML. Παράδειγμα XML

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

Detecting Duplicates over Distributed Data Sources. Δημήτρης Σουραβλιάς

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

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Βάσεις Δεδομένων Ι Εξεταστική Περίοδος Φεβρουαρίου 2006

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

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

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Τμήμα Πληροφορικής ΑΠΘ

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

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

Transcript:

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 10. XML Αποθήκευση Δεδομένων: Relational vs. Native ιαχείριση εδομένων στον Παγκόσμιο Ιστό Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων Πέμπτη 12 Ιαν 2017

Τι Είδαμε Μέχρι Τώρα XML HTML XML XQuery XPath XSLT Text XML Schema DTD XML Έγγραφα DOM Προγραμματισμός Σε αυτό το μάθημα: Storage Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 2

Είναι η XML Δεδομένα; Τα XML έγγραφα αποτελούν δεδομένα με την αυστηρή έννοια του όρου ηλαδή είναι μια συλλογή αρχείων που διατηρούν δεδομένα Όπως όλα τα αρχεία αποθηκεύουν δεδομένα, έτσι και τα XML αρχεία Ως μορφότυπος για δεδομένα, η XML έχει κάποια πλεονεκτήματα Αυτο-περιγραφική (το markup περιγράφει τη δομή και τα ονόματα τύπων των δεδομένων, όχι τη σημασιολογία) Μεταφέρσιμη (υποστηρίζει unicode) Μπορεί να περιγράφει δεδομένα με δενδρική δομή ή δομή γράφου Έχει όμως και ορισμένα μειονεκτήματα Είναι πολύλογη (verbose) Αργή πρόσβαση στα δεδομένα, λόγω του parsing και του μετασχηματισμού του κειμένου Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 3

Είναι η XML μια Βάση Δεδομένων; Η ερώτηση είναι εάν αποτελεί ένα σύστημα διαχείρισης βάσης δεδομένων (Σ Β ) με τη χαλαρή έννοια του όρου Η XML παρέχει αρκετά χαρακτηριστικά ενός Σ Β Αποθήκευση (XML έγγραφα) Σχήμα (DTD, XMLSchema) Γλώσσα επερώτησης (XPath, XQuery) Προγραμματιστικές διεπαφές (SAX, DOM) Τι λείπει; Αποδοτική αποθήκευση Μέθοδοι πρόσβασης (ευρετήρια) οσοληψίες (transactions) Triggers Και άλλα... Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 4

Αποθήκευση XML σε Σχεσιακή Βάση Δεδομένων

Σχεσιακές Προσεγγίσεις Έλλειψη σχήματος Η προσέγγιση Edge Η προσέγγιση Node Η προσέγγιση Path Materialization Ύπαρξη σχήματος Η προσέγγιση DTD Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 6

Η Προσέγγιση Edge Τοποθετούνται όλες οι ακμές (edges) ενός edge-labeled XML δένδρου σε ένα σχεσιακό πίνακα που ονομάζεται Edge Χρήση ενός ζεύγους γνωρισμάτων (Source, Target) για να δηλωθεί η αφετηρία και το τέλος της ακμής Το Label αναπαριστά το tag της ακμής Το Flag είναι ο τύπος του κόμβου προορισμού Το Value είναι η τιμή του κόμβου προορισμού Daniela Florescu, Donald Kossmann: Storing and Querying XML Data using an RDMBS. IEEE Data Eng. Bull. 22(3): 27-34 (1999) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 7

Η Προσέγγιση Edge (Παράδειγμα) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 8

Επεξεργασία Επερωτήσεων ύο ακμές Α και Β είναι γειτονικές σε ένα μονοπάτι, αν A.Target = B.Source Με χρήση αυτής της ιδιότητας μπορούμε να μεταφράσουμε XML queries (που δεν περιέχουν // ) σε SQL queries ύο βήματα Edge selection Βρίσκουμε τις data edges για κάθε label στο query Χρήση clustered index στο Label Χρήση index στο Value Edge joining Σύνδεση γειτονικών ακμών, που ικανοποιούν το πρώτο βήμα Χρήση index στο (Source, Target) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 9

Επεξεργασία Επερωτήσεων (Παράδειγμα) Query: /publisher[address= Cambridge ]/book/author/name Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 10

Βελτίωση Αυτή ήταν η basic Edge προσέγγιση, που βελτιώνεται από την binary προσέγγιση ημιουργία ξεχωριστού πίνακα για κάθε ομάδα ακμών με το ίδιο Label Βελτίωση στο χρόνο επεξεργασίας Λιγότερος χώρος αποθήκευσης εν αποθηκεύεται το Label γνώρισμα Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 11

Περιορισμοί της Προσέγγισης Edge Απαιτεί μεγάλο αριθμό από joins Όσοι οι κόμβοι στο twig query (μείον 1) Πρόβλημα απόδοσης για μεγάλα twig queries εν μπορεί να επεξεργαστεί αποδοτικά queries με // Π.χ. Για A//B, δεν είναι εύκολο να υπολογίσει πόσα tags υπάρχουν ανάμεσα στα A και B Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 12

Η Προσέγγιση Node Τοποθετούνται όλοι οι element και attribute κόμβοι (nodes) ενός node-labeled XML δένδρου σε ένα σχεσιακό πίνακα που ονομάζεται Node Χρήση μιας τριάδας γνωρισμάτων (Start, End, Level) για να δηλωθεί η αφετηρία και το τέλος της ακμής Επερωτήσεις με // απαντώνται με χρήση των ζευγαριών (Start, End) Επερωτήσεις με / απαντώνται με χρήση των ζευγαριών (Start, End) και του Level Τα start, end δηλώνουν τη σειρά επίσκεψης κόμβου (δύο επισκέψεις) για μια διάσχιση κατά βάθος Chun Zhang, Jeffrey F. Naughton, David J. DeWitt, Qiong Luo, Guy M. Lohman: On Supporting Containment Queries in Relational Database Management Systems. SIGMOD Conference 2001: 425-436 Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 13

Η Προσέγγιση Node (Παράδειγμα) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 14

Επεξεργασία Επερωτήσεων ύο βήματα για την αποτίμηση επερωτήσεων Node selection Επιλογή κόμβων με βάση το Label Node joining Σύνδεση επιλεγμένων κόμβων με χρήση των (Start, End, Level) Μπορεί να επιτευχθεί βελτίωση, εάν ακολουθηθεί μια παρόμοια προσέγγιση με την binary της Edge (με ξεχωριστούς πίνακες ανά Label) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 15

Επεξεργασία Επερωτήσεων (Παράδειγμα) Query: /publisher[address= Cambridge ]//author/name Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 16

Περιορισμοί της Προσέγγισης Node Μπορεί να επεξεργαστεί αποδοτικά queries με // Αντίθετα από την προσέγγιση Edge Απαιτεί μεγάλο αριθμό από joins Όσοι οι κόμβοι στο twig query (μείον 1) Πρόβλημα απόδοσης για μεγάλα twig queries Όπως ακριβώς και η προσέγγιση Edge Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 17

Η Προσέγγιση Path Materialization Εσωτερικοί κόμβοι ενός node-labeled XML δένδρου αποθηκεύονται ως μονοπάτια (root paths) σε έναν πίνακα Path Ο πίνακας Path είναι όμοιος με τον πίνακα Node, μόνο που αντί για το όνομα του εκάστοτε tag αποθηκεύεται το root path Στόχος η μείωση του πλήθους των απαιτούμενων joins Masatoshi Yoshikawa, Toshiyuki Amagasa, Takeyuki Shimura, Shunsuke Uemura. XRel: a path-based approach to storage and retrieval of XML documents using relational databases. ACM Trans. Internet Techn. 1(1): 110-141 (2001) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 18

Επεξεργασία Επερωτήσεων Το twig query αποσυντίθεται σε πολλαπλά root-to-leaf path queries ύο βήματα για την αποτίμηση επερωτήσεων Path selection Επιλογή root paths για τα φύλλα και τους κόμβους διακλάδωσης του query Path joining Σύνδεση επιλεγμένων κόμβων με χρήση των (Start, End, Level) Query: /publisher[address= Cambridge ]/book/author/name Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 19

Κριτική της Προσέγγισης Path Materialization Λιγότερα joins στο δεύτερο κομμάτι της επερώτησης Επειδή χρησιμοποιεί ως δομική μονάδα το path κι όχι το edge Υποστηρίζει επεξεργασία queries με // Με χρήση της Optional String Pattern Matching συνάρτησης (LIKE) Αυξάνει την πολυπλοκότητα του πρώτου κομματιού της επερώτησης Η SQL δεν υποστηρίζει αποδοτικά το LIKE Άρα δεν υποστηρίζει αποδοτικά queries με πολλαπλά // Όμως έχουν προταθεί βελτιώσεις (Reversed-path προσέγγιση και BLAS προσέγγιση) Προβλήματα (λάθος απαντήσεις) όταν υπάρχει αναδρομή (κόμβοι με το ίδιο όνομα εμφωλιασμένοι στο ίδιο path) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 20

Η Προσέγγιση DTD Παράγει διαφορετικό σχεσιακό σχήμα ανάλογα με το DTD αρχείο Αντί για γενικούς πίνακες (Node, Edge, Path) έχουμε ειδικούς πίνακες για κάθε element του XML εγγράφου που εμφανίζεται πολλαπλές φορές Αντίθετα, elements που εμφανίζονται μία φορά γίνονται inlined στη σχέση Jayavel Shanmugasundaram, Eugene J. Shekita, Jerry Kiernan, Rajasekar Krishnamurthy, Stratis Viglas, Jeffrey F. Naughton, Igor Tatarinov: A General Techniques for Querying XML Documents using a Relational Database System. SIGMOD Record 30(3): 20-26 (2001) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 21

Επεξεργασία Επερωτήσεων Μετασχηματισμός XML queries σε SQL queries A/B Έλεγχος εάν το Α είναι πατέρας του Β στο DTD δένδρο Εάν είναι, κάνει join: A.id = B.parent_id A//B Έλεγχος εάν το Α είναι πρόγονος του Β στο DTD δένδρο Εάν είναι, κάνει join όλες τις ενδιάμεσες σχέσεις διαδοχικά ακολουθώντας τη φιλοσοφία του A/B Query: /publisher[address= Cambridge ]/book/author/name ή /publisher[address= Cambridge ]//author/name Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 22

Κριτική της Προσέγγισης DTD Η DTD προσέγγιση μειώνει σημαντικά το πλήθος των joins, συγκριτικά με την περίπτωση έλλειψης σχήματος για 2 λόγους Τα μη-πολλαπλά elements έχουν γίνει γνωρίσματα πινάκων (inlined), οπότε αντί για χρήση ακριβών join τελεστών, αρκούν οι φτηνότεροι projection και selection τελεστές Αποφεύγει τα joins για ελέγχους ύπαρξης κόμβου Παράδειγμα /publisher[address]/book[title= Databases ] SELECT Book.id FROM Book WHERE Book.title = Databases Γνώση από DTD ότι κάθε Book έχει γονέα Publisher με παιδί Address Η DTD προσέγγιση μπορεί να χρειαστεί περισσότερα joins από τις Node και PM προσεγγίσεις Επειδή μετασχηματίζει queries με // σε μια ακολουθία από queries με / Αυτό όμως διορθώνεται με χρήση numbering schemes (όπως στις Node και PM προσεγγίσεις) Προσθέτοντας (Start, End, Level) γνωρίσματα στις σχέσεις Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 23

Σύνοψη Σχεσιακών Τεχνικών Αποθήκευσης Τα XML δεδομένα αποθηκεύονται σε σχεσιακούς πίνακες Τα twig queries μετασχηματίζονται σε SQL queries Η επεξεργασία και η βελτιστοποίηση επερωτήσεων γίνεται από το σχεσιακό βελτιστοποιητή αιτημάτων Όταν δεν υπάρχει σχήμα διαθέσιμο Η PM προσέγγιση υπερτερεί των Node και Edge, διότι Υποστηρίζει queries με //, και Απαιτεί λιγότερα joins Όταν υπάρχει κάποιο DTD σχήμα Η DTD προσέγγιση έχει γενικά καλύτερη απόδοση συγκριτικά με τις προσεγγίσεις που δεν έχουν διαθέσιμο σχήμα Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 24

Native XML Storage

Εισαγωγικά Παρόλο που η σχεσιακή προσέγγιση είναι απλή Μπορεί να μην έχει βέλτιστη απόδοση Στηρίζεται σε θ-joins για να απαντήσει queries με // Τέτοια joins είναι πολύ πιο ακριβά και πολύπλοκα από equijoins Έτσι προτάθηκαν native προσεγγίσεις, όπου η επεξεργασία επερωτήσεων σχεδιάστηκε εξ αρχής, χωρίς τη χρήση σχεσιακών βάσεων δεδομένων Βασική ιδέα είναι ότι ένα σύστημα αποθήκευσης και επερώτησης ειδικά σχεδιασμένο για XML, θα βελτιώσει σημαντικά την απόδοση της επεξεργασίας επερωτήσεων Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 26

Επισκόπηση Native XML Προσεγγίσεων Η Προσέγγιση Join H Προσέγγιση Sequence H Navigational Προσέγγιση Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 27

Η Προσέγγιση Join Τα XML δεδομένα αποθηκεύονται ως ανεστραμμένες λίστες (inverted lists) Για κάθε tag που εμφανίζεται σε ένα έγγραφο, διατηρούνται οι θέσεις όλων των elements με αυτό το όνομα tag Η θέση εκφράζεται με τη μορφή (Start,End,Level) ή με Dewey κωδικοποίηση Τα elements είναι ταξινομημένα σε αύξουσα σειρά των Start αριθμών Chun Zhang, Jeffrey F. Naughton, David J. DeWitt, Qiong Luo, Guy M. Lohman: On Supporting Containment Queries in Relational Database Management Systems. SIGMOD Conference 2001: 425-436 Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 28

Επεξεργασία Επερωτήσεων Για να απαντήσουμε ένα query Α//Β ή Α/Β Η προσέγγιση Multi-predicate MerGe JoiN (MPMGJN) Εκτελείται ένας merge-join αλγόριθμος στις λίστες list A και list B Έχουν προταθεί διάφορες βελτιώσεις Η προσέγγιση StackTree Η ολιστική προσέγγιση (Holistic approach) H Index-Graph-Aided (IGA) προσέγγιση Query: A/B Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 29

Η Προσέγγιση Sequence Στόχος είναι το twig pattern matching για να αποφύγουμε το ακριβό βήμα των προηγούμενων αλγορίθμων που στηρίζεται στο join των επιμέρους paths Τρία βήματα Προεπεξεργασία: κωδικοποίηση δεδομένων και επερώτησης σαν ακολουθίες (sequences) Μια ακολουθία κόμβων S D για τα δεδομένα Μια ακολουθία S Q για το query Επερώτηση: subsequence matching Εύρεση όλων των ακολουθιών S Q στην S D Παράγει και αποτελέσματα που δεν ανήκουν στο τελικό αποτέλεσμα Βελτίωση των αποτελεσμάτων μετά την επεξεργασία (postprocessing) Απορρίπτει τα περιττά αποτελέσματα, κρατά μόνο τα σωστά Haixun Wang, Sanghyun Park, Wei Fan, Philip S. Yu: ViST: A Dynamic Index Method for Querying XML Data by Tree Structures. SIGMOD Conference 2003: 110-121 Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 30

Η Προσέγγιση Sequence (Παράδειγμα) Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 31

Περιορισμοί της Προσέγγισης Sequence Υποστηρίζει μόνο ordered twig queries Π.χ. Το element B να εμφανίζεται πριν το C Για unordered twig queries πρέπει να μετασχηματιστούν σε πολλαπλά ordered twig queries, που επιδεινώνει την απόδοση Περιλαμβάνει πολλά index probes Επομένως μπορεί να επιφέρει μεγάλο αριθμό I/O Μπορεί να επισκεφτεί τους ίδιους κόμβους πολλές φορές, χωρίς να χρειάζεται Π.χ. o b 2 επισκέπτεται από τους a 1, a 2 και a 3, διότι b 2.pos > a i.pos Όμως οι επισκέψεις μέσω a 1 και a 2 δεν είναι απαραίτητες Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 32

Η Navigational Προσέγγιση ιατρέχει το δένδρο προσπαθώντας να βρει twig matches Είναι η μόνη προσέγγιση που είναι εφαρμόσιμη για την περίπτωση επερώτησης streaming XML δεδομένων Έχει εφαρμοστεί σε αρκετά από τα πρώτα native XML συστήματα (Lore, Natix) Η βασική ιδέα είναι ότι το δένδρο δεδομένων διασπάται σε ένα σύνολο υπόδενδρων και κάθε υπόδενδρο αποθηκεύεται σε ξεχωριστή σελίδα στο δίσκο Στη σελίδα αποθηκεύεται ακόμη για κάθε κόμβο πληροφορία (tag, id) για όλα τα παιδιά του και τον πατέρα κόμβο Alan Halverson, Josef Burger, Leonidas Galanis, Ameet Kini, Rajasekar Krishnamurthy, Ajith Nagaraja Rao, Feng Tian, Stratis Viglas, Yuan Wang, Jeffrey F. Naughton, David J. DeWitt: Mixed Mode XML Query Processing. VLDB 2003: 225-236 Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 33

Η Navigational Προσέγγιση (Παράδειγμα) Η Navigational είναι ταχύτερη προσέγγιση για queries με / Το σύστημα Niagara επεξεργάζεται twig queries συνδυάζοντας Navigation: για το τμήμα του query με / Join: για το τμήμα του query με // Query: //A/B/C Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 34

Σύνοψη Native XML Προσεγγίσεων H Join προσέγγιση με native υλοποίηση των θ-joins έχει πλεονέκτημα στην απόδοση συγκριτικά με τις προσεγγίσεις Sequence και Navigational Όμως για streaming δεδομένα, μόνο η Navigational προσέγγιση είναι εφαρμόσιμη Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 35

Συμπεράσματα: Η Σχεσιακή Προσέγγιση Τα XML δεδομένα φορτώνονται σε σχεσιακές βάσεις δεδομένων Τα twig queries μετασχηματίζονται σε SQL queries πάνω από σχεσιακά δεδομένα Η επεξεργασία επερωτήσεων ανατίθεται στους σχεσιακούς βελτιστοποιητές επερωτήσεων, δίχως την ανάγκη extra υλοποίησης Όμως υπάρχει πρόβλημα στην αποδοτική επεξεργασία των θ-joins, που είναι πολύ σημαντικά στην XML Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 36

Συμπεράσματα: Η Native XML Προσέγγιση Τα XML δεδομένα αποθηκεύονται στο δίσκο με τη μορφή ανεστραμμένων λιστών, ακολουθιών ή δένδρων Αναπτύσσονται native αλγόριθμοι για την επεξεργασία επερωτήσεων για τη βελτίωση της απόδοσης Η προσέγγιση Join παρέχει αποδοτική επεξεργασία των θ-joins Όμως βασικά δομικά στοιχεία των σχεσιακών βάσεων δεδομένων πρέπει να υλοποιηθούν εξ αρχής ιαχείριση αποθήκευσης, μέθοδοι πρόσβασης, επεξεργασία επερωτήσεων, βελτιστοποίηση επερωτήσεων, έλεγχος ταυτοχρονισμού, κτλ. Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 37

Συμπεράσματα Μια καλή πρακτική φαίνεται ότι είναι relational storage of XML data + native processing of XML queries Αποθήκευση των XML δεδομένων ως ανεστραμμένες λίστες σε σχεσιακές βάσεις δεδομένων Υλοποίηση native join αλγορίθμων για twig queries μέσα σε υπάρχοντες σχεσιακούς βελτιστοποιητές επερωτήσεων Αυτή είναι η τεχνική που έχουν υιοθετήσει πολλά εμπορικά συστήματα διαχείρισης βάσεων δεδομένων IBM DB2, Microsoft SQL Server, Oracle DB Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 38

Πηγές Αναφοράς Efficiently Querying Large XML Data Repositories: A Survey Gang Gou and Rada Chirkova IEEE Transactions on Knowledge and Data Engineering, Vol.19, No.10, pp.1381-1403, October 2007. Διαχ.Δεδομένων στον ΠΙ, 7ο Εξάμηνο 39