專題演講 日期:2006年6月1日

演講題目: Indexing XML Data

演講者: Gongzhu HuDepartment of Computer Science Central Michigan University, USA

內容:

   

XML通常有幾種闡釋的語法,例如:SchemaMetadataWeb servicesModeling,而資料商店則包含XML databaseXML-relational conversionNative XML DB。而資料之所以用XML的格式儲存,主要有幾個好處:平台獨立、易於做資料交換,同時具彈性。而XML資料庫也具備快速復原的特性,主因來自於索引編輯(indexing)的功能強大。

XML索引的種類當中,又分成幾種導向:(1)資料庫導向方式(database-oriented approach)-儲存在relational DB中,且以XML rendered XSL style sheet format呈現,還具備XML-relational的轉換特性。(2)資料復原導向方式(information retrieval-oriented approach)-在這個方式中XML的資料會被當成文件(text document)的格式處理,同時將索引建立在標籤(tags)上。(3)混和方式(hybrid approach)-結合了多種技術,並且建立XPath的索引。

事實上XML的文件主要是以樹狀結構(tree structure)來呈現,換言之,從XML中設法取回資料,就必須依循樹狀搜尋(tree search)。而XML的查詢大多涉及一些沿著路徑搜尋的方式,此時索引必須扮演辨識父-子節點關係(ancestor-descendent relationships)的角色。

XML索引(indexing)的方式:Value indexType indexLink indexPath index是常見的幾種,而這些索引通常應用到由大而小(top-down)、由小而大(bottom-up),及混合的查詢計畫。其他還有ToXin3-D bitmapInvertedIndex Fabric都是具不同特性的索引方式,演講中對於2001Li and Moon所提出的節點編碼(node encoding)更是多所著墨。

而排序結構(Numbering Scheme)則是另一個重要議題。由於樹狀節點都會以數字編碼,因此這樣的架構可以幫助使用者快速地辨識在XML資料中,所有成對物件的節點關係。其中特別針對Dietz’s numbering algorithmLi and Moons numbering schemeProposed Numbering Scheme做了詳盡的解說,並分析其中優點及應用限制。像是Li and Moon的方式便是保留了Dietz的優點,卻又解除其限制,讓節點中間得以有空間插入其他節點,改善了原先的排序結構。

胡教授以圖文的方式詳細說明索引及查詢結構(Indexing & Querying Structure),藉由圖形的說明,清楚了解資料與節點的分佈、流向,甚至是原始程式碼。同時胡教授也分享了目前正在進行的實驗。實驗小組嘗試用大規模的XML資料檔案,從2.8kb2mb,在SunOS 5.9Sun-Blade-100 (Sun Ultrasparc-II)工作站上跑。實驗顯示run-time有相當顯著的表現。

接下來的MRIMulti-Resolution Index)是演講另一個重頭戲。胡教授除了詳細說明該索引方式的內涵之外,同樣也以清楚的圖文顯示MRI結構中,資料的分佈、路徑,及存取方式。它讓新的XML資料以一種叫做「價值表」(Value Tables)的方式儲存、呈現。而實驗結果同樣顯示,MRI的方式除了在Nesting Level14較不理想外,反應時間都比JakartaSaxon來得快速許多。

最後胡教授再次強調,Indexing XML datarational data是相當不同的,基本上他是以樹狀結構來組織資料。而樹狀節點架構則是加速父子節點的辨別以支援XPaths的查詢,同時得以彈性地插入節點以處理XML資料的更新。然而,我們仍舊需要更多相關的研究,來了解並促進不同的XML indexing方式的run-time績效。

撰文:簡嬿羚