Vícerozměrný přístup pro indexování XML dat Michal Krátký, michal.kratky@vsb.cz školitel: Václav Snášel, vaclav.snasel@vsb.cz Katedra informatiky VŠB - Technická univerzita Ostrava WOFEX 2003
Obsah Úvod, Nativní XML databáze, Vícerozměrný přístup pro indexování XML dat, Výsledky experimentů, Závěr. 2/11
Úvod Extensible Markup Language (XML) je značkovací jazyk vyvíjený W3C. XML je jazyk pro modelování dat, nativní XML databáze. Struktura dokumentů je popsána DTD nebo XML Schema. XML dotazovací jazyky (XPath, XQL, XQuery,…). Současné přístupy (relační, objektově-relační) nejsou vhodné pro indexování XML dokumentů. Problémem je nutnost průchodu stromem při provádění XML dotazu. 3/11
Vícerozměrný přístup pro indexování XML dat Graf je množina cest. id 123 Atribut je zvláštním případem elementu s řetězcovou hodnotou. books/book/title/”The Two Towers” books/book/author/”J.R.R. Tolkien” … Např.: <book id=“123”> 4/11 books/book/id/”123”
Indexující datová struktura Modelujeme cestu jako n-rozměrný vektor, proto využíváme existující vícerozměrné datové struktury. Především perzistentní, stránkovaný BUB-strom. Dotazování je prováděno pomocí bodových a rozsahových dotazů. 5/11
Indexování XML dat Index: termů, cest, struktury. Index termů: názvy elementů a atributů a jejich hodnoty jsou uloženy s jedinečnými čísly (id). Index cest: obsahuje všechny cesty. Např.: pro cestu books/book/title je uložen vektor (0,1,2) s id 0. Index struktury: obsahuje id cest, elementů a řetězcových hodnot. Např.: 0/1/2/”The Two Towers” => (0,0,1,2,4). 6/11
Dotazování XML dat XPath dotaz: books/book[author=“Joseph Heller”] 3 fáze, získávání: ● id termů z indexu termů, ● id 1 cesty books/book/author z indexu cest: bodový dotaz (0,1,3), ● vektory z indexu struktury: rozsahový dotaz (1,0,0,8)x(1,max,max,8). 7/11
Experimentální výsledky Databáze bílkovin z XML UW projektu: ● velikost souboru: 683MB, ● počet elementů: 21.305.818, ● počet atributů:1.290.647. ● maximální délka cesty 8. BUB-forest, index struktury: BUB-strom indexující prostory dimenze 7 a 9. 8/11
Experimentální výsledky Dotazy: dotaz 1: ProteinDatabase/ProteinEntry/[protein/ name='hypothetical protein YDL110c'] dotaz 2: ProteinDatabase/ProteinEntry/[reference/refinfo/ authors/author='Smith, E.L.'] Relevantních listových uzlů Prohledávaných listových uzlů DAC Čas procesu [s] dotaz 1 1 116 (0.05%) 324 0.125 dotaz 2 15 6 327 (2.3%) 15 275 5.8 průměr 8 2 147.7 (0.9%) 7 799.5 2.9 9/11
Závěr Implementace XML dotazovacího jazyka, např. XPath. http://www.cs.vsb.cz/arg Implementace XML dotazovacího jazyka, např. XPath. Implementace dotazování na částečnou shodu, např. books/book[title=‘*computer*’]. Efektivní provádění úzkých rozsahových dotazů. Komprese v datové struktuře. Kombinace s přístupy indexování nestrukturovaných dokumentů. 10/11
Reference M. Krátký, J. Pokorný, T. Skopal, V. Snášel: The Geometric Framework for Exact and Similarity Querying XML data. In Proceedings of EurAsia-ICT 2002. Shiraz, Iran, Springer Verlag, LNCS 2510. M. Krátký, T. Skopal, and V. Snášel: Multidimensional Term Indexing for Efficient Processing of Complex Queries. Kybernetika, Journal of the Academy of Sciences of the Czech Republic, 2003, accepted. 11/11