《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于XML數據的存儲模型及優化研究
基于XML數據的存儲模型及優化研究
李永忠 章登義 譚曉華
武漢大學計算機學院(430079)
摘要: 針對XML數據的特點,提出一種對象-關系模型及由XML Schema映射該模型的規則算法,同時根據網絡數據特點,引入分片技術。
Abstract:
Key words :

摘   要: 針對XML數據的特點,提出一種對象-關系模型及由XML Schema映射該模型的規則算法,同時根據網絡數據特點,引入分片技術。
關鍵詞: XML技術  XML Schema語言  對象-關系模型  分片

   Internet數據本身具有的自描述性和動態可變性等一系列復雜特性,使其結構呈現半結構化特點,給網上數據的管理和查詢帶來困難。解決此問題的關鍵是尋找一個半結構化的數據模型。事實上,日益普及的XML數據是一種自描述的半結構化數據。從某種意義上說,XML就是一種半結構化的數據模型。它的出現推動了網絡在電子商務、電子數據交換和電子圖書館等多方面的應用。但對于如何有效地存儲管理和查詢這類數據,目前還沒有統一的方法。
  針對XML數據的特點,本文提出了一種對象-關系模型。其主要思想是將XML數據中具有明顯結構特征的數據建立關系數據模型,將具有繼承、不確定特征的數據建立面向對象數據模型。這樣,既能保證元素的直觀性和完整性,又能充分利用關系數據模型的優勢提高對部分數據的查詢效率。同時根據網絡數據分布存儲的特點,引入分片技術,以進一步提高查詢效率。特別是在面向對象數據模型中則采用類垂直分片技術,并對類垂直分片的概念以及類垂直分片的原則進行了具體詳盡的描述。
1  對象-關系模型的建立
1.1 XML Schema
  XML Schema是W3C較新推出的標準。它是用來對XML進行文檔類型定義的語言,同時可用來規定XML文檔的數據類型及組織方式。相對于DTD而言,XML Schema具有豐富的數據類型,而且還可通過對數據類型進行擴展和限制定義新的數據類型。XML Schema本身也采用XML格式編寫,從而方便了數據的建立和處理。XML Schema克服了DTD的許多局限,有望取代DTD成為定義XML數據類型的主要手段。文檔1是一個XML Schema實例。
  

為保證數據由XML Schema向對象-關系模型映射的完整性和有效性,需要了解XML Schema包含的信息。XML Schema主要提供下列幾方面的信息。
 ?。?)元素的內容信息。包括元素的名稱和類型。元素主要包括以下幾類:不包含子元素和屬性的簡單元素;通過元素引用方法聲明的元素;包含子元素和屬性的復雜元素;類型為ANY的元素等。
 ?。?)元素的數據類型信息。包括XML Schema內建的數據類型;由限制及合并而派生的簡單數據類型;由已有數據類型聚集(aggregation)、擴展(extension)派生的復雜數據類型。
 ?。?)元素的屬性信息。包括直接定義類型的屬性;通過引用聲明的屬性;聲明為ANY內容的屬性等。
 ?。?)元素的關系信息。包括嵌套關系、引用關系、順序關系和繼承關系等。
 ?。?)在映射中要考慮的其他信息。包括元素值、屬性值限制(由fixed和default屬性指定);元素出現次數的限制(由minOccurs和maxOccurs屬性控制);元素屬性出現限制(由use屬性指定,其值可以是required、optional、prohibited)以及元素組、屬性組等。
  針對XML Schema的上述特點,本文提出了由XML Schema映射對象-關系模型的規則算法。
1.2  映射規則
  規則1:創建關系RR映射元素之間的關系。結構如下所示:
     

  按規則1,為文檔1創建了圖1中的表element_relation。
  需說明的是:關系RR的project_table域與復雜元素的element_type一一對應。因此可通過這種對應關系,在已知element_type的情況下找到映射其結構的關系。
  規則2:為每個由聚集(aggregation)得到的不同類型的復雜元素EA創建一個關系RE,關系名存在關系RR的project_table域中。
  規則3:對每個關系RE,創建主鍵INSTANCE_ID域,標識惟一元素實例e;創建BIB_ID域,指向e相鄰的下一個元素實例en,以映射元素實例之間的順序關系。
  規則4:將元素EA的出現次數不大于一次的簡單子元素(maxOccurs=1)映射為關系RE的一個域,類型為簡單元素的類型。將通過元素引用方法聲明的簡單子元素映射為關系RE的與被引用元素類型相同的域。將類型為STRING、BOOLEAN、DECIMAL、FLOAT、DATE等在關系數據庫存在的類型或可轉化的類型(ID、IDREF、ANYURI、TOKEN等)的屬性直接映射為關系RE的相應類型的域。將引用聲明的屬性映射為關系RE的與被引用屬性類型相同的域。
  規則5:將元素EA的出現次數不確定或大于一的簡單子元素(包括引用聲明的簡單子元素)、類型為IDREFS、ENTITY、ENTITYS的屬性映射為類CE的同一類型的變量;聲明INSTANCE_ID和ELEMENT_TYPE變量,元素EA的出現次數不確定或大于一次的復雜子元素(包括引用聲明的復雜子元素)的類型映射為類CE的變量,INSTANCE_ID映射為類CE的數組變量,變量名取元素名。
規則6:在關系RE中創建OBJECT_ID域,以存儲類CE的指針。
  按照規則2~6,對文檔1中的memories元素創建表memories和類memory;為memory元素創建memory表。
  規則7:由擴展(extension)得到的復雜元素Eh(設父元素為EA),按規則2、3、4映射關系模型,按規則5將類CE沒有的屬性映射為類CEh,并將CEh作為CE的一個子類,再按規則6創建OBJECT_ID域。
  規則8:通過元素引用方法聲明的復雜元素與被引用元素具有相同結構,且與被引用元素共用一個數據模型。
  規則9:為每個元素(屬性)組創建一個類。簡單類型的元素(屬性)映射為相應類型的變量,變量名取元素(屬性)名;聲明相應類型的變量,映射復雜類型元素的類型和元素實例的INSTANCE_ID;在包含該元素(屬性)組的關系中創建GROUP域,存儲相應元素(屬性)組類的指針。
  按照規則9,可對文檔1中的memoryGroup元素組創建類memoryGroup,并在memoryType表中創建“g_point"域(見圖1)。


  規則10:創建名稱為ANY的類,以存儲ANY類型的元素和屬性。在包含ANY類型元素(屬性)的關系中創建ANY域,存儲ANY類的指針。ANY類包括以下變量:
  class any {
  element_type string /*復雜元素的類型*/
  instance_id integer /*該對象實例在相應
  關系中的instance_id*/
  element_name string /*元素名*/
  instance_value string /*簡單類型的元素(屬性)值,均轉換為字符串類型*/
  }
  按規則10,為文檔1中的ANY元素創建類“any”(見圖1)。
  規則11:對于XML Schema定義各種約束及派生的簡單數據類型,可通過關系數據模型的域約束來實現。
  圖1是按以上規則,為文檔1創建的對象-關系模型。
2  分片和類垂直分片技術
  分片技術分為水平分片、垂直分片和混合分片,其在關系數據庫中運用的理論和實踐已比較成熟,形成了相對一致的看法。類垂直分片技術則是近幾年提出的新思想,有關這方面的研究不多。文獻[2]對類垂直分片在提高查詢效率方面的作用進行了評估和論證,提出了影響類垂直分片的制約因素,證明了類垂直分片的有效性。
2.1 類垂直分片的基本思想
  類垂直分片是依據類實例變量的相關程度和經常一起訪問的頻率對類實例變量分組、構造類片段并分片存儲,通過減少對無關實例變量的訪問來降低磁盤I/O,提高查詢效率。類垂直分片技術尤其適用于數據量大,且無需訪問整個類實例的情況。
2.2 類垂直分片的定義


  

2.3  類垂直分片的基本原則和方法
  由于面向對象數據模型中的子類繼承、類組裝繼承(class composition hierarchy)等復雜關系,使得對類進行垂直分片變得復雜。下面給出類垂直分片的基本原則和方法。

  (1)將相關的及可能經常一起訪問的實例變量歸入同一類片段。
  (2)類與類之間存在高輸出(fan-out)的情況,對沿類組裝繼承路徑上的所有類進行垂直分片。
  (3)要根據源類的大小選擇垂直分片策略。對于較小的源類不易做過多的分片,因為過多分片不僅不會提高反而會降低查詢效率。但較大的源類對分片多少不是非常敏感。
  (4)選擇垂直分片策略前,首先要分析投影率(projection ratio)。如投影率高則不易進行分片。
  (5)類垂直分片的方法是:將類C的每一個類片段描述為一個類,而邏輯類C則描述為一個復合類,由所有類片段的指針構成。例如,將圖1中的class memoryGroup垂直分片如下:
class memoryGroup:類片段1(mediaid,status),類片段2(sub_date,donor,subject),類片段3(location)。分片后的類結構如圖2所示。

3  討  論
  采用關系數據模型存儲XML數據,可利用關系數據庫現有的存儲管理、并發控制、恢復、版本機制等技術有效地管理XML數據。但由于關系模型不支持復雜類型的屬性,一個簡單的查詢路徑有時要通過多重鏈接實現,從而影響了查詢的效率。半結構化數據的不確定性也是這種模型難以解決的問題。面向對象數據模型雖接近半結構化數據模型,并能更好地處理嵌套的集合和順序,但在數據加載時對未知的數據類型需要建立新的類對應,這樣就影響了加載效率。當元素類型改變時,數據模式的變動代價也很高。而且對XML數據中明顯具有結構化特性的數據采用面向對象模型存儲,其查詢效率遠比不上關系數據模型。目前采用的對象—關系模型大多是通過對關系模型的擴展來實現的。如文獻[3]就是通過對關系中增加嵌套屬性組的方法來實現多值屬性(元素)的存儲,它綜合了上述二種方法的優點,但仍不能充分體現XML數據的靈活性和不確定性。本文提出的對象—關系模型是將元素的關系信息和元素的實例信息分別存儲,這可有效降低數據的維護代價。同時,將部分元素和屬性采用關系模型存儲,將具有繼承、不確定特征的數據建立面向對象數據模型,既能保證元素的直觀性和完整性,又可提高部分數據的查詢效率。此模型還能對ANY類型的元素和屬性創建特定的類進行維護。這些都體現了XML數據的特點。分片技術的運用也對提高查詢效率有很大的作用。
  本文討論了XML數據的物理存儲模型。對建立在該模型上的數據庫查詢及在XML Schema和對象-關系物理存儲模型之間引入適當邏輯數據模型將是下一步研究的課題。
參考文獻
1   蓋江南.Java,XML和Web服務寶典.北京:電子工業出版社,2002
2   Fan W,Libkin L.On XML Integrity constraints in the  presence of DTDs.JACM,2002;49(3)
3   Florescu D,Kossmann D.Storing and querying XML data using an RDBMS.IEEE Data Engineering Bulletin,1999;22(3)
4   Aboulnaga A,Naughton J,Zhang C.Generating synthetic  complex-structured XML data.In Proceedings of the WebDB′ 01Workshop,2001
5   Khalifa S A,Jagadish H V,Koudas N et al.Structural  joins:A primitive for efficient XML query pattern matching.    In:Proceedings of the 2002 International Conference on  Data Engineering,2002
 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲免费观看高清完整版在线观看| 国产精品99久久久久久有的能看| 91久久嫩草影院一区二区| 国产亚洲欧美一区| 国产伦精品一区二区三区照片91| 国产精品进线69影院| 欧美日韩一区二区三区在线看| 欧美国产日韩一区| 欧美大片免费| 欧美电影资源| 欧美极品一区| 欧美日韩国产麻豆| 欧美日韩成人一区二区三区| 欧美精品福利视频| 欧美精品九九| 欧美日韩午夜在线视频| 欧美女主播在线| 欧美日韩一区二区在线视频| 欧美日韩在线一区二区| 欧美日韩一区二区三区在线看| 欧美三级精品| 欧美午夜视频一区二区| 国产精品乱子久久久久| 国产精品欧美在线| 国产日韩欧美一区二区| 好吊成人免视频| 亚洲第一黄网| 亚洲美女区一区| 这里只有精品视频| 亚洲欧美日韩一区二区| 欧美在线观看一区二区三区| 久久精品男女| 日韩视频国产视频| 一区二区三区欧美在线| 亚洲欧美成人网| 久久激情视频免费观看| 国产亚洲欧洲一区高清在线观看| 国产精品夜色7777狼人| 国产精品s色| 国产精品三级久久久久久电影| 国产嫩草影院久久久久| 国内精品免费午夜毛片| 亚洲国产美女| 一二美女精品欧洲| 欧美一区网站| 亚洲人成人99网站| 亚洲午夜久久久久久尤物 | 久久国产一区| av成人免费在线| 欧美一二三区精品| 国产日韩av高清| 亚洲精选一区二区| 亚洲欧洲日产国产综合网| 99精品视频网| 久久精品99无色码中文字幕| 蜜臀av在线播放一区二区三区| 欧美精品18videos性欧美| 国产精品爱久久久久久久| 国产在线视频欧美| 亚洲精品久久久久中文字幕欢迎你| 亚洲一区二区高清| 亚洲人人精品| 欧美在线视频a| 欧美区日韩区| 国产嫩草影院久久久久| 亚洲精品视频中文字幕| 欧美亚洲网站| 亚洲一区二区伦理| 欧美不卡一卡二卡免费版| 国产精品久久久久久久久久久久| 精品99一区二区三区| 亚洲一区免费在线观看| 亚洲精品影视| 久久精品国产清高在天天线| 欧美日韩在线精品| 精品动漫3d一区二区三区免费| 在线综合亚洲| 日韩午夜激情电影| 久久人人爽人人爽爽久久| 欧美无砖砖区免费| 亚洲激情成人在线| 久久爱另类一区二区小说| 亚洲免费在线看| 欧美日韩精品免费在线观看视频| 一区二区在线视频| 午夜在线一区二区| 亚洲欧美激情一区二区| 欧美日韩精品二区| 亚洲国产91| 亚洲国产成人tv| 欧美一二三区精品| 欧美视频中文字幕| 亚洲欧洲日韩女同| 91久久精品国产91性色| 久久久久久婷| 国产精品一区在线观看| 在线视频亚洲一区| 这里只有精品在线播放| 欧美经典一区二区| 亚洲国产视频一区二区| 亚洲电影免费观看高清完整版| 欧美在线视频一区| 国产精品入口尤物| 亚洲一区二区在线观看视频| 中文一区字幕| 欧美日韩一区二区三区在线视频| 亚洲区在线播放| 亚洲国产婷婷香蕉久久久久久99 | 欧美午夜久久久| 亚洲精品综合| aa级大片欧美| 欧美日韩精品高清| 亚洲精品少妇30p| 一二三四社区欧美黄| 欧美日本三级| 99re6热只有精品免费观看| 一区二区三区 在线观看视频| 欧美日韩国产不卡| 99精品99| 亚洲欧美日韩精品综合在线观看| 欧美色大人视频| 在线一区二区三区四区| 亚洲欧美影音先锋| 国产欧美日韩综合一区在线播放| 亚洲欧美电影在线观看| 久久成人一区二区| 国内精品嫩模av私拍在线观看| 欧美在线网址| 久久综合九色欧美综合狠狠| 狠狠色狠狠色综合日日小说| 亚洲丶国产丶欧美一区二区三区| 免费观看一区| 亚洲精品日韩在线| 亚洲性av在线| 国产精品影音先锋| 欧美在线视频播放| 欧美成人中文| 日韩一级黄色av| 午夜精品久久久久久久久| 国产亚洲精品aa| 91久久嫩草影院一区二区| 欧美美女操人视频| 亚洲午夜视频| 久久久av毛片精品| 亚洲电影一级黄| 亚洲私人影院| 国产婷婷色一区二区三区四区| 久久精品人人做人人综合 | 先锋a资源在线看亚洲| 卡通动漫国产精品| 亚洲日产国产精品| 午夜视频一区在线观看| 国内精品亚洲| aⅴ色国产欧美| 国产欧美一区二区精品性色| 亚洲黄色av| 国产精品jvid在线观看蜜臀| 先锋影音久久久| 欧美激情第五页| 亚洲女爱视频在线| 欧美sm极限捆绑bd| 亚洲五月婷婷| 理论片一区二区在线| 99精品国产在热久久婷婷| 久久精品欧美日韩精品| 91久久精品国产91久久性色| 亚洲欧美制服中文字幕| 在线精品亚洲一区二区| 亚洲一区二区三区在线观看视频| 国产一区二区高清| 一本大道久久a久久精二百| 国产精品网站一区| 亚洲人成人一区二区在线观看| 欧美性猛交xxxx乱大交蜜桃| 久久成人国产精品| 欧美亚男人的天堂| 亚洲国产综合在线| 国产精品视频免费一区| 91久久久精品| 国产三级精品在线不卡| 一区二区黄色| 黑人操亚洲美女惩罚| 亚洲一区二区四区| 在线欧美不卡| 久久国产婷婷国产香蕉| 99精品国产99久久久久久福利| 久久在线免费| 中日韩视频在线观看| 欧美aa在线视频| 午夜精品一区二区三区在线视| 欧美日韩另类丝袜其他| 久久精品亚洲热| 国产精品一卡| 中日韩在线视频| 在线看国产日韩| 久久久精品免费视频| 亚洲无吗在线| 欧美日韩国产成人| 最新中文字幕一区二区三区| 国产欧美另类|