Presentation is loading. Please wait.

Presentation is loading. Please wait.

Indexing Methods for Efficient XML Query Processing

Similar presentations


Presentation on theme: "Indexing Methods for Efficient XML Query Processing"— Presentation transcript:

1 Indexing Methods for Efficient XML Query Processing
Jun-Ki Min

2 XML eXtensible Markup Language The de facto standard XML Data
data representation and exchange on the Web XML Data An instance of semistructured data self-describing irregularly structured

3 XML Data Comprise hierarchically nested collections of elements
Element can contains Atomic data value A sequences of subelements attributes composed of name-value pairs ID-IDREF relationship Tree or Graph representation

4 XML Example 1 6 2 3 book title paper libraryDB 7 editor author 4 10 9
<book editor = 1> <title> title1 </title> <author> author1 </author> <chapter> … </chapter> </book> <paper> <title> title2</title> <author id = 1> author2 </author> <author> author3 </author> <section> … </section> </paper> </libraryDB> 1 6 2 3 book title paper libraryDB 7 editor author 4 10 9 section 8 5 chapter Index Fabric ToXin APEX

5 XML Query XML Query Language Structural Summary & Path Index
XSLT, XML-QL, XPath, XQuery use path expression to traverse the irregularly structured data ex) /libraryDB/book/title or //title search the whole XML data => inefficiency Structural Summary & Path Index by restricting the search to only relevant portions of XML Data

6 Schemas for XML DTD, XML Schema Structural Summary Path Index
Specifies the constraints of XML Data <!ELEMENT book (title, author+,chapter*)> are not mandatory => lack of external schema Structural Summary Summary of label paths Path Index Structural Summary + Extents

7 Schemas for XML Applications User Interface Query Formulation
XML Data Design, Editing Query Formulation Query Validation Query Optimization Path Index

8 Structural Summary DTD Extraction Structural Summary XTRACT
based on element information Structural Summary Representative Objects based on path information

9 XTRACT [Garofalakis, Gionis, Rastogi, Seshadri, Shim: SIGMOD 00]
Infer concise and accurate DTD Choose a DTD from candidate DTDs (a b),(b a) => (a|b)* or (a b)|(b a) Based on Minimum Description Length (MDL) Principle ranks each candidate DTDs depending on the number of bits required to describe the subelement sequences in terms of the candidate DTD 6(for DTD)+3+3 = 12 9(for DTD)+1+1 = 11

10 Representative Objects(RO)
[Nestorov, Ullman, Wiener, Chawathe : ICDE 97] Provide a concise representation of the inherent schema of a semistructured hierarchical data Full-RO Describe all simple paths K-RO K-RO guarantees that its paths whose length are k+1 exist in data. 1-RO Simplest & very compacted representation

11 Representative Objects(RO)
book title paper libraryDB editor author section chapter Graph Representation of 1-RO name book title paper libraryDB editor author section chapter XML Data name book title paper libraryDB editor author section chapter Graph Representation of 2-RO(= Full-RO) name

12 Path Index Access Support Relations Deterministic Non-Deterministic
Strong DataGuide Index Fabric ToXin APEX Non-Deterministic 1-Index A(k) Index F&B Index

13 Access Support Relations
[Kemper, Moerkotte: IS 92] Originated from OODBMS select Name from Mercedes.Manufactures.Composition.Division To support join along arbitrary reference chains Generalization of Join Index[Valduriez 87] Based on the paths in the schema Materialize access paths of arbitrary length Support only predefined subsets of paths.

14 DataGuides [Goldman, Widom : VLDB 97]
An implementation version of Full-RO Summary of label paths from the root (= simple paths) Concise: describe every unique simple path exactly once, regardless of the number of times it appears Accuracy: do not contains label paths that do not appear in the data Convenience: can store and access it using similar techniques available for processing semistructured data

15 DataGuides Construction Algorithm emulates the conversion algorithm from non-deterministic finite automata (NFA) to deterministic finite automata (DFA) Intuitively, a simple path is represented as a node in DataGuide One XML Data may have multiple DataGuides A B C An XML Data A B C Various DataGuides

16 Strong DataGuide If the sets of nodes which are reachable for simple paths are equal, then the simple paths are represented as a single node. Linear time and linear space for tree structured data Exponential time and exponential space for graph structured data 1 A C B 2 3 4 5 6 2,4 3,5 Source Strong DataGuide Source Strong DataGuide

17 1/2/T-Index [Milo and Suciu: ICDT 99] 1-Index
Summary all label paths starting from the root Support queries of q= Px where P = /l1/l2/…/ln Non-deterministic Based on backward bisimulation which is originated from graph verification Extents are disjoint More compact size than Strong DataGuides

18 1-Index Equivalence relation (≡) Backward Bisimulation (≈b)
v ≡ u iff Lv =Lu where Lx = {w| w is a simple path from the root to x} the collection of all equivalence class Exponential construction cost Backward Bisimulation (≈b) If x≈by and x is the root then y is the root Conversely, If x≈by and y is the root, then x is the root. If x≈by and <x’l x> is an edge, then there is exists an edge (y’l y), such that x’ ≈by’ Conversely, if x≈by and (y’l y) is an edge, then there exists an edge (x’l x) such that x’≈by’

19 ≡ vs ≈b ≈b X ≡ Y since LX = LY = {a.b.d, a.c.d} X Y v ≈b u  v ≡ u
O(mlogm) construction cost [Paige and Tarjan 87] ≈b

20 1-Index vs Strong DataGuide
6 2 3 book title paper libraryDB 7 editor author 10 8,9 section 8 5 chapter Strong DataGuide 4 1 6 2 3 book title paper libraryDB 7 editor author 4 10 9 section 8 5 chapter XML Data 1-Index 1 6 2 3 book title paper libraryDB 7 editor author 10 9 section 8 5 chapter 4 In tree structured Data, strong Dataguide and 1-Index coincide

21 2/T-Index 2-Index T-Index To support queries of x1Px2 ex) //title
Equivalence relation (≡) (v, u) ≡ (v’, u’) iff L(v,u) =L(v’,u’) where L(x,y) = {w| w is a label path from x to y} Summary of path information bwt. two arbitrary nodes T-Index Generalization of 1/2-Index (v1,…,vn )≡ (u1,…,un) iff L(v1,…,vn) =L(u1,…,un) Conceptually similar to Access Support Relations Support only predefined paths

22 Index Fabric [Cooper, Sample, Franklin, Hjaltason, Shadmon, VLDB 01]
Tree Structured Data Conceptual similar to strong DataGuide Layered structure Use Patricia trie to index a large number of search keys The simple path of an element which has a data value is encoded as a special character sequence Keeps the key which is the combination of encoded sequence and data value.

23 Index Fabric P 1 1 2 … 2 8 Patricia Trie
“L” “LBC” C B P Patricia Trie 1 2 L B P T A LBAauthor1 LBTtitle1 C XML Data Keeps only the information of elements which have data values Patricia trie : lossy Compression

24 ToXin [Rizzolo, Mendelzon: WebDB 01] Tree Structured Data
Conceptually Similar to strong DataGuide (not minimal DataGuide) Support navigation of forward and backward traversal Path Tree ( = strong DataGuide) A node of Path Tree has an Index Table or Value Tables Index Table (IT): parent-child relationships Value Table (VT): owner-value relationships

25 ToXin Index Tables Value Tables …
XML Data Index Tables LibraryDB:IT book:IT paper:IT title:VT author:VT chapter section LibararyDB parent child null LibraryDB.book parent child LibraryDB.paper parent child Value Tables LibraryDB.book.author parent value author1 Since ToXin keeps parent-child relationships, ToXin supports path expression with value predicates ex) /libraryDB/book[author = author1]

26 A(k)-Index [Kaushik, Shenoy, Bohannon, Gudes: ICDE 02]
Strong DataGuide and 1-Index record the all simple paths Increase index size => Increase search space Approximation of 1-Index Non-deterministic Utilize local similarity(= degree k) reduce the size of index graph

27 A(k)-Index k-bisimulation (≈k)
For any two nodes, v and u, v ≈0 u iff u and v have the same label Node v≈ku iff v≈k-1u and for every parent v’ of v, there is a parent u’ of u such that v’≈k-1u’ A C B D E XML Data A(0)-Index A(1)-Index A(2)-Index (= 1-Index)

28 A(k)-Index Building cost = O(km) In general, for 1-Index, k < logm
Query Processing label path expression whose length ≤ k+1 precise label path expression whose length > k+1 safe : include false results validation => require the data scan

29 APEX: Adaptive Path indEx for XML Data
[Chung, Min, Shim : SIGMOD 02] Strong DataGuide and 1-Index are kept the all simple paths Users used partial matching path queries //book/title Exhaustive navigation of index structure for partial matching path queries may result in performance degradation

30 APEX Deterministic Approximation of DataGuides
Efficient processing of partial matching path queries Workload-Aware Self Tuning Strategies [Chaudhuri et. al 00] Utilize Query Workload Build APEX with both XML data and frequently used paths Sequential pattern mining [Agrawal and Srikant 95]

31 frequently used paths = {book.title}
APEX libraryDB title paper book &1 &2 &3 &8 &9 &0 author &4 &5 chapter &6 section &7 editor APEX frequently used paths = {book.title} label xnode next xroot &0 libraryDB &1 book &2 paper &3 title author &4 chapter &5 section &6 editor &7 label count xnode next book &8 remainder &9 extent &0: {<null,0>} &1: {<0,1>} &2: {<1,2> }&3: {<1,6>} &4: {<2,4>, <6,8>, <6,9>} &5: {<2,5>} &6: {<6,10>} &7: {<2,8>} &8: {<2,3>} &9: {<6,7>} Hash Tree keep frequently used paths prevent the exhaustive search Graph Structure structural summary + extents XML Data

32 F&B Index [Kaushik, Bohannon, Naughton, Korth : SIGMOD 02]
Support Twig path expression /A/B[C] Basic Idea For every edge e labelled l from v to u, add an (inverse) edge e-1 with label l-1 from u to v And then, compute 1-Index on this modified graph. Very large Index space Apply some heuristics Exploiting Local Similarity : k-bisimulation A B C A B C-1

33 Discussion Path Index Future Work
Improve the query performance by restriction of search space Can be apply to various application Selectivity Estimation QBE(Query By Example) Future Work Support twig queries Query Optimization cost formula of path index

34 Reference C. Chung, J. Min and K. Shim, “ APEX: An Adaptive Path Index for XML Data,” SIGMOD 02 B. Cooper, N. Sample, M. Franklin, G. Hjaltason and M. Shadmon, “A Fast Index for Semistructed Data,” VLDB 01 M. Garofalakis, A. Gionis, R. Rastogi, S. Seshadri, and K. Shim, “ XTRACT: A System for Extracting Document Type Descriptors from XML Documents,” SIGMOD 00 L. Goldman and J. Widom, “ DataGuides: Enabling Queries Formulation and Optimization in Seminstructured Databases,” VLDB 97 R. Kaushik, P. Bohannon, J. Naughton and H. Korth, “Covering Indexes for Branching Path Queries,” SIGMOD 02 R. Kaushik, P. Shenoy, P. Bohannon and E. Gudes, “Exploiting Local Similarity for Indexing Paths in Graph-Structured Data,” ICDE 02 A. Kemper and G. Moerkotte, “Access Support Relations: An Indexing Method for Object Bases,” Information Systems 92 T. Milo and D. Suciu, “ Index Structures for Path Expressions,” ICDT 99 S. Nestorov, J. Ullman, J. Wiener and S. Chawathe, “ Representative Objects : Concise Representations of Semi structured, Hierarchical Data,” ICDE 97 F. Rizzolo and A. Mendelzon,” Indexing XML Data with ToXin,” WebDB 01 R. Paige and R. Tarjan, “Three partition refinement algorithms,” SIAM Journal of Computing 87 P. Valduriez, “Join Indices,” TODS 87


Download ppt "Indexing Methods for Efficient XML Query Processing"

Similar presentations


Ads by Google