1 / 15

Indexing Semistructured Data

Indexing Semistructured Data. J. McHugh, J. Widom, S. Abiteboul, Q. Luo, and A. Rajaraman Stanford University January 1998 http://www-db.stanford.edu/lore/. EECS 684 02/21/2000 Presented by Weiming Zhou . Outline. Introduction - Data Model - Query Language

zaynah
Download Presentation

Indexing Semistructured Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Indexing Semistructured Data J. McHugh, J. Widom, S. Abiteboul, Q. Luo, and A. Rajaraman Stanford University January 1998 http://www-db.stanford.edu/lore/ EECS 684 02/21/2000 Presented by Weiming Zhou

  2. Outline • Introduction • - Data Model • - Query Language • Indexes in Lore • Query plans using indexes • Conclusions

  3. Data Model - Object Exchange Model (OEM)

  4. The Lorel Query Language (Lorel) Example 1 selectDB.Movie.Title whereDB.Movie.Actor.Name = “Harrison Ford” Example 2 selectT fromDB.Movie M, M.Title T whereexists A in M.Actor : exists N in A.Name : N = “Harrison Ford”

  5. Indexes In Lore • Value index • Text index • Link index • Path index • Edge index

  6. Value index Similar to attribute indexes in Relational DBMS Example Suppose we create a Value index for DB.Movie.Year If we perform a lookup for DB.Movie.Year = “1956”, Result: &12.

  7. Text Index • An information-retrieval style keyword search. • Restricted by incoming labels. • Locates string values containing specific words. • Useful for strings containing a significant amount of text. • Implementation: • Inverted lists - map a given word w and label l to a list of atomic values with incoming edge l that contain word w. • Example: • Lookup for all objects with an atomic string value containing the • word “Ford" and an incoming edge Name. • Results: {<&17, 2>, <&21, 2>}.

  8. Link Index • Locates parents of a given object. • Serves as back-pointers • Implementation • Extendible hashing • One Link Index for the entire database graph • Example • The Link Index lookup for object &17 returns parent object &6, and the lookup for object &21 returns object &13.

  9. Path Index Locate all objects reachable by a given labeled path. Provided by DataGuide. Example select DB.Movie.Title Using the Path Index to directly locate all objects reachable via DB.Movie.Title. Results: &5; &9; &14.

  10. Edge Index All parent-child pairs connected via a specified label. Example Look up label “Year” in Edge Index Results: &2-&7, &3-&12

  11. Query Plans Using Indexes • Top-Down • Bottom-Up • Hybrid • Example • selectT • fromDB.Movie M, M.Title T • whereexists A in M.Actor : exists N in A.Name • : N = “Harrison Ford”

  12. Top-Down Query Plan Exhaustive Top-down traversals DB.Movie.Actor.Name = “Harrison Ford” &17, &21 Link Index &17  &2, &21  &4 DB.Movie.Title &5, &14

  13. Bottom-Up Query Plan Look up Value Index DB.Movie.Actor.Name = “Harrison Ford” &17, &21 Link Index &17  &2, &21  &4 DB.Movie.Title &5, &14

  14. Hybrid Query Plan selectX fromA.B X whereexists Y in X.C : Y =5 Bottom-up: Value Index A.B.C = “5” Top-down: A.B Intersect

  15. Conclusions • Presents Lore’s indexing structures: Value Index, Text Index, Link Index, Path Index and Edge Index. • Query plans using indexes • Preliminary performance results: • at least an order of magnitude improvement when indexes are used for query processing.

More Related