999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

XML數據庫存儲策略探討

2010-01-01 00:00:00
現代商貿工業 2010年1期

摘 要:介紹了幾種XML數據庫的存儲策略,并對每種存儲策略進行了描述、分析,然后對幾種存儲策略進行了性能和優缺點的比較,并就XML數據庫未來發展方向進行展望。

關鍵詞:XML; 數據庫; 存儲策略

中圖分類號:TP311.131文獻標識碼:A文章編號:16723198(2010)01026902

1 XML數據庫的存儲策略

底層的存儲表達對上層的查詢處理和優化有著重要的影響,如何存儲XML文檔才是最好的方式已經成為一個重要問題。XML數據庫的存儲策略主要有幾種:利用文件系統的平面文件、成熟的RDBMS(Rdational Database Management System,關系數據庫管理系統)、對象管理器或OODBMS(ObjectOriented Database Management System,面向對象數據庫管理系)、采用全新的Native XML數據庫管理系統。

1.1 利用平面文件存儲 XML文檔

將每個XML文檔存儲成文本文件,并實現一個查詢引擎,當查詢被執行時,XML文件被解析成駐留在內存的一棵樹。一般解析的時間影響著查詢計算的時間,這種方法速度慢。為提高這種方法的可用性,必須建立索引。利用XML元素在文本文件中的偏移量作為id,建立從標記tag(parent_ offset,tag)映射到子偏移量child_offset的路徑索引以及從標記tag(child_offset,tag)映射到父偏移量parent_offset的反向路徑索引。這兩個索引有利于遍歷XML文檔或在XML文檔中進行導航。其他索引建立從標記值(tagname,value)或屬性值(attribute nam,attribute_value)到元素偏移量element_offset的映射,這些索引有助于計算查詢中的選擇條件(謂詞)。查詢引擎可以利用這些索引檢索與查詢相關的XML文件的片段,極大地減少了解析的時間。

1.2 傳統的關系數據庫系統方法

XML關系存儲的核心是XML文檔到RDB的模式映射(schema mapping)方法,包括模型映射和結構映射。為了下面敘述方便,圖1給出了示例所使用的XML文檔“Dept.xml”和 DTD文件“Dept.dtd”來說明它們的映射過程。也可用XML文檔的樹型結構來說明每一種方法是如何存儲XML數據的:XML文檔可以模型化為有向圖,圖中用結點表示XML元素、屬性和文本,利用有向邊表示父子關系,矩形框表示元素結點,而橢圓形表示屬性或文本結點等等。

(1)利用關系的DTD方法。

這種方法是共享內嵌法,而且需要相應DTD的支持。用一個獨立的表來捕獲具有相同標記的元素與其子元素集之間的包含關系。表中的每個元組都被賦予一個ID,而且該表還包含一個ParentlD列以標識該元組的父親結點。一個元素在描述它的元素表中只能出現一次,而且它的父結點內嵌為表的一列以便表示該元素的父親。

Stl CS10 CS20

St2

(2)利用關系的邊的方法。

將XML文檔的有向圖存儲在單個Edge表中。按照廣度優先的順序賦予有向圖中每個結點一個惟一的id。Edge表中的每個元組對應有向圖里的一條邊,并包含該條邊所連接的兩個結點的id值、目標結點的標記(tag)值以及一個順序號,該順序號表示同一結點與其多個子結點對應邊的順序編碼。當元素只有一個文本子結點時,文本內容就內嵌到以該元素結點為目標結點的邊所對應的元組里。

(3)利用關系的屬性方法。

“屬性”方法是按照Edge的Tag字段對邊表進行水平劃分,不同標記(指Tag字段的值)的元組存儲在各自不同的表里。這種方法以犧牲Edge表的重要的屬性Tag為代價而節省了存儲空間(不用存儲Tag字段)。對于屬性方法來說,查詢處理器需要DTD來決定哪些表包含子元素,因為子元素的標記沒有存儲在表中。需要注意的是,對于有很多XML文檔的一個大集,屬性方法可能導致大量的表。

1.3 Native XML數據庫

NativeXML數據庫是專門用來存儲XML文檔的和操作XML數據的數據庫,其數據可以通過XML和XPmh、XSLT、DOM、SAX等相關標準來訪問。具體使用什么形式

存儲數據并不重要,但底層數據表示形式必須維持完全的XML結構和相關的元數據。基本存儲單元是一個XML文檔,存儲數據時不需進行XML和數據庫的映射轉換。

2 存儲方法策略的性能及特征分析

平面文件是存儲XML文檔最簡單的機制,但一般不支持索引查詢,也不容易修改文檔。

關系型或面向對象數據庫按照一定的粒度來存儲XML文檔,這使得對XML文檔的訪問比較容易也比較靈活,同時也提高了查詢和修改XML文檔的效率,還可以方便地建立和維護各種索引。

在存儲XML文檔時,一般有三種不同的簇集策略:第一種是對應于現實世界的同一對象的元素簇集存儲,例將Student的ID和Name存儲在一起;第二種是將相同種類的元素一起簇集存儲,例把所有的Student元素存儲在一起;第三種是按照和原始XML文本文件一樣的順序(深度優先),將元素簇集存儲。

關系-DTD方法積極地使用了策略一和策略二,DTD信息有助于產生更緊湊的數據表示,但缺點是不能處理沒有DTD的XML文檔。利用關系數據庫系統還有其他優勢:可移植性和可擴展性。另外,一個重要的因素是當前Web上的數據都駐留在關系數據庫系統中,因此使用關系DBMS來存儲XML文檔使得查詢只有一個系統的數據類型和一種查詢語言成為可能。邊方法和屬性方法都采用了簇集策略二。當查詢須對相關的幾個子元素應用謂詞(條件)時,或是在構造結果文檔時,簇集策略二都導致了非常糟糕的性能。XML元素之間的父子關系是由SQL的連接(JOIN)運算捕獲的。對復雜的路徑表達式,這種策略產生了十幾個連接運算的復雜的SQL查詢,使得關系數據庫的查詢優化器很難產生正確的查詢執行。連接運算的數目也表明了這兩種方法對路徑表達式復雜性的敏感度。屬性方法比邊方法的數據表示更加緊湊。另一方面,為了重構一個元素,屬性方法必須要DTD的信息。而且其重構的代價比較高,原因就是需要更多的SQL查詢來獲取所有的子元素。

對象方法使用簇集策略三。由于在原始的XML文檔中,對應于一個現實世界對象的所有元素常被簇集在一起,所以策略三共享了策略一的好處。當重構查詢結果時,策略三提供了非常好的性能;而與 DTD方法比較起來,對象方法中相似的對象(具有相同標記名的元素)沒有被簇集在一起的事實顯著增加了查詢處理的開銷。另外,在面向對象數據庫基礎上實現 XML數據的存儲和查詢,而面向對象數據庫在查詢優化上存在的問題制約了XML數據的查詢分解和優化。

3 結語

XML數據庫的研究已從傳統的RDBMS轉向NXDBMS,這是XML數據庫研究的發展趨勢。由此也帶來了許多挑戰性的問題,如XML的節點編碼、x-代數、查詢優化、實現x-代數的各種高效算法、支持查詢優化的有效索引、XML的數據更新。這些問題給數據庫研究人員提供了廣闊的平臺和機遇。

參考文獻

[1]栗松濤編著,XML程序設計[M].北京:清華大學出版社,2001.

[2](美)Mark Graves著.尹志軍,等譯.XMI 數據庫設計[M].北京:機械工業出版社,2002.

[3]Tian Feng,DeWittD J,et a1.The Design and Performance Evaluation of Alternative XML Storage Strategies.SIGM0D Record,March 2002,31(1).

主站蜘蛛池模板: 免费在线国产一区二区三区精品| 免费观看无遮挡www的小视频| 精品国产一区二区三区在线观看| 广东一级毛片| 亚洲天堂免费| 波多野结衣在线一区二区| 亚洲无码不卡网| 奇米影视狠狠精品7777| 日韩在线2020专区| 大陆精大陆国产国语精品1024 | 亚州AV秘 一区二区三区| 毛片免费观看视频| 国产综合无码一区二区色蜜蜜| 欧美成人看片一区二区三区 | 中国黄色一级视频| 国产69精品久久| 国产av无码日韩av无码网站| 欧美日韩动态图| 亚洲国产一成久久精品国产成人综合| 99视频在线观看免费| 在线观看无码a∨| 人妻夜夜爽天天爽| 综合成人国产| 日韩精品毛片人妻AV不卡| 992tv国产人成在线观看| 日韩一级毛一欧美一国产| 国产日韩精品欧美一区喷| 久久久黄色片| 国内精自视频品线一二区| 欧美成人精品在线| 国产精品丝袜视频| 第一页亚洲| 97精品久久久大香线焦| 国产国产人成免费视频77777| 黄片一区二区三区| 久久免费精品琪琪| 国产精品免费电影| 欧美在线视频a| 91美女视频在线| a级毛片一区二区免费视频| 天天综合网色| 国产自在自线午夜精品视频| 欧美日韩高清在线| 国产精品无码翘臀在线看纯欲| 99精品福利视频| 国产精品久久久久久久久久98| 五月婷婷精品| 国产区在线看| 国产高清精品在线91| 国产理论一区| 欧美日韩成人| 日韩在线网址| 国产精品对白刺激| 亚洲成人精品| 操操操综合网| 久久伊伊香蕉综合精品| 国产精品污视频| 国产男女免费完整版视频| 啪啪啪亚洲无码| 福利在线一区| 成人免费网站在线观看| 国产噜噜噜视频在线观看| 91成人精品视频| 国产精品入口麻豆| 国产00高中生在线播放| 亚洲一区色| 97se亚洲| 免费一级大毛片a一观看不卡| 久久精品中文字幕免费| 国产在线啪| 中文字幕在线欧美| 亚洲愉拍一区二区精品| 亚洲人成网站色7799在线播放| 国产精品太粉嫩高中在线观看 | 国产91蝌蚪窝| 毛片视频网| 专干老肥熟女视频网站| 国产第一色| 91精品网站| 日韩av在线直播| 日韩精品成人在线| 伦精品一区二区三区视频|