xml与oracle对比,Oracle XML DB和DB2 pure XML在XML文档存储查询性能方面的比较分析
0引言隨著互聯(lián)網(wǎng)和信息化技術(shù)的快速發(fā)展,醫(yī)院在逐步完成醫(yī)院信息數(shù)字化建設(shè)過程中,它的核心技術(shù)之一就是電子病歷的數(shù)字化管理和應(yīng)用。電子病歷包括病人就診或治療的全部臨床信息,這些信息一般由數(shù)字、文字、圖形和圖像等數(shù)字信息組成。本文僅對純文本數(shù)據(jù)電子病例的存儲和查詢的性能進行分析和比較。電子病歷的存儲、交換、共享和使用要求電子病歷必須以一種統(tǒng)一的格式規(guī)范或語法進行定義[1],能夠支持高效的查詢和更新存儲。定義基于語義標(biāo)記的XML文檔格式[2]能夠為解決各種類型的數(shù)據(jù)共享、交換和使用問題提供一種行之有效的技術(shù)解決方法。OracleXMLDB[3]和IBMDB2pureXML[4]數(shù)據(jù)庫管理系統(tǒng)都對XML文檔提供了強大的支持,是將關(guān)系型數(shù)據(jù)和XML數(shù)據(jù)進行混合管理的數(shù)據(jù)庫軟件[5],但這兩種XML文檔技術(shù)解決方法,在電子病歷的應(yīng)用性能方面是否存在差異成為系統(tǒng)構(gòu)架師和設(shè)計師高度關(guān)注的技術(shù)要素,本文就該技術(shù)要素展開分析和比較。1在存儲和查詢實現(xiàn)技術(shù)上的比較分析OracleXMLDB和IBMDB2pureXML都采用了W3C的XML數(shù)據(jù)模型,但在物理存儲層的設(shè)計和實現(xiàn)差異很大。查詢雖都是基于XQuery語言,但因采用了不同的存儲技術(shù)而各自做了不同的封裝和擴展。1.1在物理存儲層實現(xiàn)方式比較OracleXMLDB11g中針對不同的數(shù)據(jù)可選用三種不同的存儲機制,即以大字符對象(CLOB)方式的非結(jié)構(gòu)化存儲、二進制存儲和完全結(jié)構(gòu)化的存儲機制。針對結(jié)構(gòu)化存儲,OracleXMLDB用XMLSchema所含信息派生一個對象模型、該模型可使符合XMLSchema的XML內(nèi)容得到分解并以對象集的方式存入數(shù)據(jù)庫。注冊XMLSchema之后,OracleXMLDB為XMLSchema定義的每個全局元素創(chuàng)建一個默認(rèn)的XMLType表,即對象表[6]。XMLSchema中的類型如String、Decimal和Date分別被映射成SQL中的Varchar2、Num-ber和Date類型。當(dāng)XML實例文檔被裝載進OracleXMLDB知識庫時,XML文檔內(nèi)容將被“分解”并保存在對象關(guān)系表中。表1是在OracleXMLDB中采用結(jié)構(gòu)存儲方式存儲XML文檔的示例,該XML文檔片段如下:1001OracleCorpChina123456…表1XML文檔實例在OracleXMLDB中存儲為Person關(guān)系表ROW_IDPersonIDNameAddressPhone...11001OracleCorpChina123456…DB2V9引入了DB2pureXML支持,是一種高效的大字段存儲模式,其性能優(yōu)于傳統(tǒng)CLOB的文本字段處理。因為XML標(biāo)簽元素存有內(nèi)在的層次結(jié)構(gòu),所以在DB2pureXML數(shù)據(jù)庫中的物理存儲層主要存儲單元是節(jié)點且以樹型形式展現(xiàn),同時可在保存XML文檔層次結(jié)構(gòu)的前提下,在節(jié)點的粒度上存儲XML文檔的片段,而不破壞其層次結(jié)構(gòu)。圖1為XML文檔在DB2pureXML中存儲方式的示例。圖1XML文檔在DB2pureXML中以節(jié)點方式存儲示例由于OracleXMLDB把XML文檔轉(zhuǎn)換為關(guān)系表保存,基此方便XML文檔的有效性驗證,但插入時開銷偏大。DB2pureXML可高效維護XML文檔的層次結(jié)構(gòu)和加速對XML文檔的檢索性能。通過節(jié)點與父、子節(jié)點的關(guān)聯(lián)有利于遍歷。如果待查節(jié)點在同一頁上,那么遍歷速度將比指針遍歷還快。1.2在查詢方式上的比較DB2提供兩種語言規(guī)范查詢XML數(shù)據(jù),即SQL/XML和XQuery。既可以單獨使用XQuery和SQL,也可將XQuery嵌入SQL中使用,反之亦然
總結(jié)
以上是生活随笔為你收集整理的xml与oracle对比,Oracle XML DB和DB2 pure XML在XML文档存储查询性能方面的比较分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新!2020年鼠年纪念币预约入口、预约
- 下一篇: asp.net php 哪个好,ASP.