Master Informatique 1 Qiuyue WangXML Data Management Structure Indexes for XML.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

XML: Extensible Markup Language
Binary Trees CSC 220. Your Observations (so far data structures) Array –Unordered Add, delete, search –Ordered Linked List –??
22C:19 Discrete Structures Trees Spring 2014 Sukumar Ghosh.
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
File Processing : Hash 2015, Spring Pusan National University Ki-Joune Li.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Modern Information Retrieval Chapter 8 Indexing and Searching.
Multiversion Access Methods - Temporal Indexing. Basics A data structure is called : Ephemeral: updates create a new version and the old version cannot.
Modern Information Retrieval
1 Huffman Codes. 2 Introduction Huffman codes are a very effective technique for compressing data; savings of 20% to 90% are typical, depending on the.
BTrees & Bitmap Indexes
From Semistructured Data to XML: Migrating The Lore Data Model and Query Language Roy Goldman, Jason McHugh, Jennifer Widom Stanford University
Managing XML and Semistructured Data Lecture : Indexes.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
2010/3/81 Lecture 8 on Physical Database DBMS has a view of the database as a collection of stored records, and that view is supported by the file manager.
1 CS 430: Information Discovery Lecture 4 Data Structures for Information Retrieval.
Document and Query Forms Chapter 2. 2 Document & Query Forms Q 1. What is a document? A document is a stored data record in any form A document is a stored.
CS 206 Introduction to Computer Science II 12 / 10 / 2008 Instructor: Michael Eckmann.
Managing XML and Semistructured Data Lecture 16: Indexes Prof. Dan Suciu Spring 2001.
Managing XML and Semistructured Data
Chapter 17 Methodology – Physical Database Design for Relational Databases Transparencies © Pearson Education Limited 1995, 2005.
On the Use of Regular Expressions for Searching Text Charles L.A. Clarke and Gordon V. Cormack Fast Text Searching.
IS432: Semi-Structured Data Dr. Azeddine Chikh. 1. Semi Structured Data Object Exchange Model.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
Database Management 8. course. Query types Equality query – Each field has to be equal to a constant Range query – Not all the fields have to be equal.
Lecture 9 Methodology – Physical Database Design for Relational Databases.
Approximate Frequency Counts over Data Streams Gurmeet Singh Manku, Rajeev Motwani Standford University VLDB2002.
1 Semi-structured data Patrick Lambrix Department of Computer and Information Science Linköpings universitet.
A Summary of XISS and Index Fabric Ho Wai Shing. Contents Definition of Terms XISS (Li and Moon, VLDB2001) Numbering Scheme Indices Stored Join Algorithms.
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
Copyrighted material John Tullis 10/17/2015 page 1 04/15/00 XML Part 3 John Tullis DePaul Instructor
© 2006 Pearson Addison-Wesley. All rights reserved13 B-1 Chapter 13 (continued) Advanced Implementation of Tables.
Web Data Management Indexes. In this lecture Indexes –XSet –Region algebras –Indexes for Arbitrary Semistructured Data –Dataguides –T-indexes –Index Fabric.
SICP Search Algorithms Why search Data structures that support search Breadth first vs. depth first.
10/10/2012ISC239 Isabelle Bichindaritz1 Physical Database Design.
1 Bisimulations as a Technique for State Space Reductions.
Indexing Data Relationships Michael J. Franklin University of California, Berkeley & RightOrder Inc.
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
KAIST2002 SIGDB Tutorial1 Indexing Methods for Efficient XML Query Processing Jun-Ki Min KAIST
Methodology – Physical Database Design for Relational Databases.
1 CS 430: Information Discovery Lecture 4 Files Structures for Inverted Files.
Sets of Digital Data CSCI 2720 Fall 2005 Kraemer.
Indexes. Primary Indexes Dense Indexes Pointer to every record of a sequential file, (ordered by search key). Can make sense because records may be much.
Spring 2003 ECE569 Lecture 05.1 ECE 569 Database System Engineering Spring 2003 Yanyong Zhang
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
Hash Tables © Rick Mercer.  Outline  Discuss what a hash method does  translates a string key into an integer  Discuss a few strategies for implementing.
Week 10 - Friday.  What did we talk about last time?  Graph representations  Adjacency matrix  Adjacency lists  Depth first search.
Chapter 5 Index and Clustering
Session 1 Module 1: Introduction to Data Integrity
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
APEX: An Adaptive Path Index for XML data Chin-Wan Chung, Jun-Ki Min, Kyuseok Shim SIGMOD 2002 Presentation: M.S.3 HyunSuk Jung Data Warehousing Lab. In.
Spring 2004 ECE569 Lecture 05.1 ECE 569 Database System Engineering Spring 2004 Yanyong Zhang
Ofir Luzon Supervisor: Prof. Michael Segal Longest Prefix Match For IP Lookup.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Generic Trees—Trie, Compressed Trie, Suffix Trie (with Analysi
Tries 07/28/16 11:04 Text Compression
Indexing Structures for Files and Physical Database Design
Azita Keshmiri CS 157B Ch 12 indexing and hashing
Temporal Indexing MVBT.
Methodology – Physical Database Design for Relational Databases
Management of XML and Semistructured Data
Indexing and Hashing Basic Concepts Ordered Indices
Managing XML and Semistructured Data
Advanced Implementation of Tables
Database Design and Programming
XML indexing – A(k) indices
2018, Spring Pusan National University Ki-Joune Li
Indexing Methods for Efficient XML Query Processing
Presentation transcript:

Master Informatique 1 Qiuyue WangXML Data Management Structure Indexes for XML

Master Informatique 2 Qiuyue WangXML Data Management Structure Indexes for XML Kinds of Indexes Value Indexes – index atomic values; e.g., data(//emp/salary) – use B+ trees (like in relational world) – (integration into query optimizer more tricky) Structure Indexes – materialize results of path expressions – (pendant to join indexes, path indices) Full Text indexes – Keyword search, inverted files – (IR world, text extenders)

Master Informatique 3 Qiuyue WangXML Data Management Structure Indexes for XML Value Indexes: Open Questions What is the key of the index? (Physical Design) – singletons vs. sequences – string vs. typed-value which type? (even for homogeneous domains) heterogeneous domain – composite indexes Index for what comparison? (Physical Design) – =: virually impossible due to implicit cast + exists – eq, leq, …: problems with implicit casts When is a value index applicable? (Compiler)

Master Informatique 4 Qiuyue WangXML Data Management Structure Indexes for XML Structure Index: Examples DataGuides 1-Index APEX Index Fabric ……

Master Informatique 5 Qiuyue WangXML Data Management Structure Indexes for XML Semi-Structured Data Model Object Exchange Model (OEM) &r1 &c1&c2 &s2&s3&s6&s7 &s10 company name address name url address “Widget” “Trenton” “Gadget” “ “Paris” &p2&p1&p3 &s0&s1&s4&s5&s8&s9 person “Smith” name position name phone name position “Manager” “Jones” “ ” “Dupont” “Sales” &a1 &a2 &a3 &a4 &a5 &a6 &a7 description procurement salesrep contact task eval “on target” “below target”

Master Informatique 6 Qiuyue WangXML Data Management Structure Indexes for XML SS vs. XML Data Models Semi-Structured Data – Edge-labeled graph XML data – Node-labeled ordered tree

Master Informatique 7 Qiuyue WangXML Data Management Structure Indexes for XML DataGuides Given a semistructured/XML database instance DB, a DataGuide for DB is a graph G such that: – Every label path in DB also occurs in G Complete coverage – Every label path in G also occurs in DB Accurate coverage (no bogus path) – Every label path in G (starting from a particular object) is unique (i.e., G is a DFA) Efficient search: to process a label path of length n, just examine n nodes in G

Master Informatique 8 Qiuyue WangXML Data Management Structure Indexes for XML DataGuide Example Name Entree Phone Owner Manager RestaurantBar 13 ={2,3} 18=19={8} 14={4} 17={7} 15={5,9} 16={6,10,11} 12={1} Each node in the DataGuide can point to a set of database nodes

Master Informatique 9 Qiuyue WangXML Data Management Structure Indexes for XML Multiple DataGuides for Same Data

Master Informatique 10 Qiuyue WangXML Data Management Structure Indexes for XML Strong DataGuides Let p, p’ be two label path expressions and G a graph; define p ≡ G p’. if p(G) = p’(G) – That is, p and p’ are indistinguishable on G DG is a strong DataGuide for a database DB if the equivalence relations ≡ DG and ≡ DB are the same Example: G1 is strong; G2 is not A.C(DB) = { 5 }, B.C(DB) = { 6, 7 } A.C(G2) = { 20 }, B.C(G2) = { 20 }

Master Informatique 11 Qiuyue WangXML Data Management Structure Indexes for XML Size of DataGuides If DB is a tree, then | G | ≤ | DB | – Linear construction time In the worst case, however, the size of a strong DataGuide may be exponential in | DB |

Master Informatique 12 Qiuyue WangXML Data Management Structure Indexes for XML A First Attempt at 1-Index Equivalence relation ≡ on the nodes in DB: – u≡v if u and v are reachable by the exactly same set of paths starting from the root. Index is also a graph (no bigger than DB) – Each index node corresponds to an equivalent class; it points to the set of DB nodes in that equivalent class. – There is an index edge labeled e from s to s’. if there is a DB edge labeled e from a node in s to a node in s’. Any accurate index should have at least this many nodes Expensive to construct (PSPACE-complete)

Master Informatique 13 Qiuyue WangXML Data Management Structure Indexes for XML 1-Index Idea: use simulation/bi-simulation instead of ≡ Stronger conditions  finer equivalence classes  more index nodes Simulation and bi-simulation are much easier to compute (PTIME) – To be practical, still need External-memory construction algorithm Incremental index update algorithm

Master Informatique 14 Qiuyue WangXML Data Management Structure Indexes for XML Simulation Given two edge-labeled graphs G1, G2, a simulation is a binary relation on their nodes, denoted as ≤, s.t., – if x1 ≤ x2 and (x1, a, y1) is an edge in G1, then there exists an edge (x2, a, y2) in G2 (same label) such that y1 ≤ y2. x1x2 a ≤ G1G2 y1 a ≤ y2

Master Informatique 15 Qiuyue WangXML Data Management Structure Indexes for XML Bisimulation Given two edge-labeled graphs G1, G2, a bisimulation is a relation between their nodes, denoted as , s.t. – if x1  x2 and (x1, a, y1) is an edge in G1, then there exists an edge (x2, a, y2) in G2 (same label) such that y1  y2; and vice versa equivalence relation

Master Informatique 16 Qiuyue WangXML Data Management Structure Indexes for XML Simulation/Bisimulation Two nodes u and v are bisimilar (u ≈ b v) if they are related in some bisimulation Two nodes u and v are similar (u ≈ s v) if there are two simulations ~ and ~’ s.t. u ~ v and v ~’ u Fact: u ≈ b v ⇒ u ≈ s v ⇒ u ≡ v – Why?

Master Informatique 17 Qiuyue WangXML Data Management Structure Indexes for XML Computing a (Bi)Simulation The empty set is always a (bi)simulation If R, R’ are (bi)simulations, so is R U R’. Hence, there always exists a maximal (bi)simulation. Computing the maximal (bi)simulation: – start with R = nodes(G1) x nodes(G2) – while there exists (x1, x2) ∈ R that violates the definition, remove (x1, x2) from R This runs in polynomial time O(mn)! – Better: O((m+n)log(m+n)) for bisimulation [Paige and Tarjan 87] O(mn) for simulation [Henzinger, et a. 1995]

Master Informatique 18 Qiuyue WangXML Data Management Structure Indexes for XML 1-Index Example (a) A data graph, (b) its 1-index, (c) its strong DataGuide

Master Informatique 19 Qiuyue WangXML Data Management Structure Indexes for XML Analyzing 1-Index For a tree-structured DB, 1-indexes using ≈ b, ≈ s, ≡ are all identical to DataGuide Always: size(1-index) ≤ size(DB) – Unlike DataGuide – But we are back to NFA; is lookup time bounded? Always: can construct index in O(|DB| log|DB|) Still need: external-memory construction algorithm and incremental update algorithm Designed to answer arbitrarily complex path expressions, but such expressions may not show up often in queries

Master Informatique 20 Qiuyue WangXML Data Management Structure Indexes for XML More on Graph Indexing Graph indexing: 1.Partition nodes into equivalence classes 2.Store the extent of each equivalence class, use it as "pre-cooked" answer to some queries Equivalence notions: 1.Reachable by some common paths: DataGuide [MW97] 2.Reachable by exactly the same paths, or equivalently, indistinguishable by any forward path expression: 1-index [MS99] 3.Indistinguishable by any (forward and backward) path expression: F&B Index [ABS99,KBN+02] 4.Indistinguishable by the (forward and backward) path expressions in the set Q: covering index [KBN+02] 5.Indistinguishable by any path expression of length < k: A(k) index [KSB+02]

Master Informatique 21 Qiuyue WangXML Data Management Structure Indexes for XML Adaptive Path Indexing: APEX Most indexing work indexes all possible paths in the data, but few paths actually come up in queries. Index only the frequently used paths (mined from a query workload). Chung et al., “APEX: An Adaptive Path Index for XML Data”, SIGMOD 2002 – Efficient processing of partial matching queries starting with self-or-descendant axis. – Workload-aware path indexes. – Incremental update

Master Informatique 22 Qiuyue WangXML Data Management Structure Indexes for XML Components of APEX Graph structure: G APEX – Represents the structural summary of XML data with extents (a set of edges whose ending nodes are the result of a label path expression). Hash tree: H APEX – Keeps the information for frequently used paths and their corresponding nodes in G APEX.

Master Informatique 23 Qiuyue WangXML Data Management Structure Indexes for XML Example XML Data

Master Informatique 24 Qiuyue WangXML Data Management Structure Indexes for XML Example APEX H APEX G APEX Query = //actor/name search the query in hash tree must in reverse order extent: &1 = { } &2 = {,, } &3 = {,,, } …

Master Informatique 25 Qiuyue WangXML Data Management Structure Indexes for XML Construction & Management of APEX

Master Informatique 26 Qiuyue WangXML Data Management Structure Indexes for XML APEX0: Initial Index Structure H APEX G APEX &0 &1&1 &2&2 movieDB actor &3&3 name &5&5 movie actor &8&8 title name &7&7 director movie director labelxnode xroot&0 movieDB&1 actor&2 dicrector&7 title&8 &actor&9

Master Informatique 27 Qiuyue WangXML Data Management Structure Indexes for XML Frequently Used Path Extraction Labelcountxnodenext xroot&0 A&1 B&2 C&3 D Labelcountxnodenext xroot0&0 A2&1 B0&2 C1&3 D2 Labelcountxnodenext B&4 Remainder&5 Labelcountxnodenext A2NULL B0&4 Remainder&5 (a) Current state (b) After frequency count Q workload ={ A.D, C, A.D } Extend H APEX with a count field. Simply counts all subsequences that appear in query workload.

Master Informatique 28 Qiuyue WangXML Data Management Structure Indexes for XML Frequently Used Path Extraction Labelcountxnodenext xroot0&0 A2&1 B0&2 C1&3 D2 Labelcountxnodenext A2NULL B0&4 RemainderNULL minsup = 2 (c) After pruning if count < minsup then delete. but if node is head-node then can't delete. if has nodes deleted or created then “Remainder” = NULL

Master Informatique 29 Qiuyue WangXML Data Management Structure Indexes for XML Update APEX Basic idea – traverse the nodes in G APEX. – update not only the structure of G APEX with frequently used paths but also the xnode field of entries in H APEX. Recursively calling updateAPEX(xnode, ΔEset, path); – xnode: a node in G APEX – ΔEset: set of new edges added to the extent of the xnode – path: the incoming label path from the root to the xnode

Master Informatique 30 Qiuyue WangXML Data Management Structure Indexes for XML Before Update &0 &1 &2 &4 &3 &5 A BC D D D Labelcountxnodenext xroot&0 A&1 B&2 C&3 D Labelcountxnodenext ANULL RemainderNULL extent &0: { } &1: { } &2: { } &3: { } &4: { } &5: {, } Labelcountxnodenext xroot&0 A&1 B&2 C&3 D After identifying frequently used paths and pruning

Master Informatique 31 Qiuyue WangXML Data Management Structure Indexes for XML Update APEX &0 &1 &2 &6 &3 &5 A BC D D D Labelcountxnodenext xroot&0 A&1 B&2 C&3 D Labelcountxnodenext ANULL Remainder&6 extent &0: { } &1: { } &2: { } &3: { } &4: { } &5: {, } &6: { }

Master Informatique 32 Qiuyue WangXML Data Management Structure Indexes for XML Update APEX &0 &1 &2 &6 &3 &7 A BC D D D Labelcountxnodenext xroot&0 A&1 B&2 C&3 D Labelcountxnodenext A&7 Remainder&6 extent &0: { } &1: { } &2: { } &3: { } &5: {, } &6: { } &7: { } &5

Master Informatique 33 Qiuyue WangXML Data Management Structure Indexes for XML After Update &0 &1 &2 &6 &3 &7 A BC D D D Labelcountxnodenext xroot&0 A&1 B&2 C&3 D Labelcountxnodenext A&7 Remainder&6 extent &0: { } &1: { } &2: { } &3: { } &6: {, } &7: { }

Master Informatique 34 Qiuyue WangXML Data Management Structure Indexes for XML Index Fabric B.Cooper, N.Sample, M.Franklin, et al., “A Fast Index for Semistructured Data”, VLDB 2001 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.

Master Informatique 35 Qiuyue WangXML Data Management Structure Indexes for XML Encoding Paths w/Designators  ABC Corp.  123 ABC Way  17 Main St.  Goods Inc.  widget  thingy  jobber Invoice as a tree Invoice Buyer Seller Itemlist Name Address Item ABC Corp.123 ABC Way Goods Inc. 17 Main St. widgetthingyjobber Name Address Item           

Master Informatique 36 Qiuyue WangXML Data Management Structure Indexes for XML Index Fabric An index structure for long strings. – Provides fast lookups – Handles long strings – Ideal substrate for designated keys Based on Patricia tries – Highly compressed string representation – Cost in index independent of string length – But, need to balance.

Master Informatique 37 Qiuyue WangXML Data Management Structure Indexes for XML Patricia Tries Indexes first point of difference between keys greenbeans greentea gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea D. R. Morrison. “PATRICIA – Practical algorithm to retrieve information coded in alphanumeric.” J. ACM, 15 (1968) pp

Master Informatique 38 Qiuyue WangXML Data Management Structure Indexes for XML Layered Approach Index Fabric improves Patricia tries and make it balanced and optimized for disk-based access like B- tree Each query accesses the same number of layers The index can have as many layers as necessary, the highest layer always contains one block The keys are stored very compactly, and blocks have a very high out-degree. In practice, three layers is enough to store billions of keys

Master Informatique 39 Qiuyue WangXML Data Management Structure Indexes for XML Balancing Patricia tries gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea

Master Informatique 40 Qiuyue WangXML Data Management Structure Indexes for XML Balancing Patricia tries Step 1: divide trie into blocks gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea

Master Informatique 41 Qiuyue WangXML Data Management Structure Indexes for XML Balancing Patricia tries Step 2: build another layer g 0 2 Layer 1 Layer 0 e gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea “” “gr” “green” “”

Master Informatique 42 Qiuyue WangXML Data Management Structure Indexes for XML Two Kinds of Links Labeled far links – Like normal edges in a trie, but connects a node in one layer to a subtrie in the lower layer Unlabeled direct links – Connects a node in one layer to a block with a node representing the same prefix in the lower layer

Master Informatique 43 Qiuyue WangXML Data Management Structure Indexes for XML Balancing Patricia tries Layer 0 Data Search Layer 0 Layer 1 Layer 2 Layer 3

Master Informatique 44 Qiuyue WangXML Data Management Structure Indexes for XML Searching Search for “greenbeans” g 0 2 Layer 1 Layer 0 e greenbeans gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea

Master Informatique 45 Qiuyue WangXML Data Management Structure Indexes for XML Searching g 0 2 Layer 1 Layer 0 e greenbeans gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea Search for “greenbeans”

Master Informatique 46 Qiuyue WangXML Data Management Structure Indexes for XML Searching g 0 2 Layer 1 Layer 0 e greenbeans gc r w 0 22 corn cow a 2 grass 5 e b t greenbeansgreentea Search for “greenbeans”

Master Informatique 47 Qiuyue WangXML Data Management Structure Indexes for XML Designators Designator – A unique special character or characters assign to each tag in XML Designator dictionary – Maintain the mapping between designators and XML tags Insert the designator-encoded XML string into Index Fabric XML Tags in queries are translated into designators, and to form a search key over the Index Fabric

Master Informatique 48 Qiuyue WangXML Data Management Structure Indexes for XML Raw Paths Index the hierarchical structure of the XML by encoding a root-to-leaf path as a string Treat attribute like tagged children, but use different designators to distinguish the same name tag and attribute Can use alternate designators to encode the ordering of tags in the XML documents

Master Informatique 49 Qiuyue WangXML Data Management Structure Indexes for XML Example XML Data Doc 1: ABC Corp 1 Industrial Way Acme Inc 2 Acme Rd. saw drill Doc 2: Oracle Inc IBM Corp 4 nail

Master Informatique 50 Qiuyue WangXML Data Management Structure Indexes for XML Designators and Raw Paths =I =B =N =A =S =T =P =C Count attribute = C´

Master Informatique 51 Qiuyue WangXML Data Management Structure Indexes for XML Index Fabric

Master Informatique 52 Qiuyue WangXML Data Management Structure Indexes for XML Refined Paths Refined paths are specialized paths through XML that optimize frequent access patterns Support queries that have wildcards, alternates, and different constants DBA decides which refined paths are appropriate Both raw paths and refined paths are stored in the same index and accessed using string lookup

Master Informatique 53 Qiuyue WangXML Data Management Structure Indexes for XML Refined Paths Optimize specific access paths “Find invoices where X sold to Y ” “Find invoices where X bought Y and Z” “Find invoices where a buyer bought X, Y and Z ”  X Y  ABC Corp. Goods Inc.  XYZ Corp. Acme Inc.  ABC Corp. jobber widget  XYZ Corp. drill hammer  X Y Z  X Y Z  jobber thingy widget  drill hammer nail

Master Informatique 54 Qiuyue WangXML Data Management Structure Indexes for XML Refined Paths Two steps to create a refined path index: – The XML documents are parsed to extract information matching the access pattern of the refined path; – The information is encoded as an Index Fabric key and inserted into the index.

Master Informatique 55 Qiuyue WangXML Data Management Structure Indexes for XML Summary of Index Fabric Index Fabric combines the advantages of both Patricia tries and B-trees – Scaling property of Patricia tries – Balanced and optimized for disk-based access like B-trees Index Fabric can be built over relational database – Leverage the maturity of relational database Not need a priori knowledge of the schema of data – Can handle XML data without DTD

Master Informatique 56 Qiuyue WangXML Data Management Structure Indexes for XML Lineage of XML Indexing Schemes