青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

Native XML數據庫技術詳解

XML技術從誕生之日就預示了它輝煌的未來,特別是隨著近一、兩年Web Service的蓬勃發(fā)展,XML越來越多地活躍在數據交換和存儲領域。

XML
數據量指數級的增長,要求更有效的數據管理能力和更快、更精確的查詢。在傳統(tǒng)數據庫廠商宣布支持XML的同時,一種新的數據庫技術,Native XML DBMSNXD)也已嶄露頭角,打破了RDBMS傳統(tǒng)數據庫一統(tǒng)天下的局面,為數據庫技術的研究提供了一次良好的發(fā)展契機。

本文將向您介紹XML和數據庫的關系,NXD的技術特點,傳統(tǒng)數據庫和NXD的比較和NXD的現狀和前景。

XML和數據庫的關系



XML
是數據庫嗎?

XML
文檔具有"可自描述""無限嵌套""樹形結構"等特點,因此在某種意義上,一個XML文檔就是一個數據庫或其中的一張表。

下面所示的XML文檔Student.xml,描述了一個學生的信息:學號、姓名等。我們可以很方便的將其對應于傳統(tǒng)RDBMS中一張二維表(table):標簽student為行,標簽idname等作為列。

Student.xml


<student>

<id>19803001</id>

<name>

<lastname>Johnson</lastname>

<firstname>Jack</firstname>

</name>

<email>jack@ipedo.com</email>

...

</student>



我們可以把相關的XML文檔放在一個目錄下,利用文件系統(tǒng)來管理,提供查詢、更改、增刪操作。為更好地支持XMLW3C還制定了一些相關技術,如:文檔模式(DTDXML Schema),查詢語言(XPathXQuery等),編程接口(DOMSAX等),來方便開發(fā)應用程序。

但如果從更高的技術角度出發(fā),就會發(fā)現,對XML文檔簡單的文件管理是遠遠不夠的:低效拇媧
際酰惶峁攣瘛指椿ūVな蕕耐暾院鴕恢灤裕揮脅⒎⒖刂啤浦補ぞ叩取?

數據庫在XML應用中的角色

事實上,XML作為數據交換的標準,更著重于統(tǒng)一數據格式,而不是提供數據庫的特性。因此在XML應用中,數據庫作為數據管理的位置依然沒有改變。

XML
數據本身的樹形結構不同于關系模型中的二維表結構,這種差別反映在數據庫產品處理XML數據的技術上,形成兩大陣營:XML-Enabled DBMSXED)和Native XML DBMSNXD)

XED
是在原有數據庫基礎上擴展了XML支持模塊,完成XML數據和數據庫之間的格式轉換和傳輸。從存儲粒度上,可以把整個XML文檔作為RDBMS表中一行,或把XML文檔進行解析后,存儲到相應的表格中。為了支持W3C的一些XML操作標準,如XPathXED提供一些新的原語(如Oracle9iR2增加了一些數據包來操作XML數據等),并優(yōu)化了XML處理模塊。

NXD
則出現在XML數據處理領域內,一般采用層次數據存儲模型,保持XML文檔的樹形結構,省掉了XML文檔和傳統(tǒng)數據庫的數據轉換過程。詳見2

兩種文檔類型

以數據為中心data-centric

以數據為中心XML文檔著重于文檔中的數據,而非文檔格式,如航班信息、銷售定單、科學計算結果等。這種文檔的數據一般由機器產生,來源于傳統(tǒng)數據庫中的數據。主要應用在電子商務、ERPEAI等領域,集成不同數據源的數據,交換信息。

以數據為中心XML文檔具有以下特點:

·
結構化的數據

·
數據粒度大小適中

·
很少或沒有混和內容(Mixed Content)

·
文檔順序(Document-order)不重要

student.xml
就是一個典型的"以數據為中心"XML文檔,記錄了學生的信息。每個學生的信息都很規(guī)整,而且粒度合適,同級元素(element)間的順序不重要,交換兩個同級元素(element)并不會破壞文檔的可讀性。

以文檔為中心document-centric

"
以文檔為中心"XML文檔主要是用來表示人類自然語言描述的數據,如電子郵件、書和用戶手冊。這種文檔具有更復雜的結構,一般不是機器自動產生的。目前,Web上的大部分數據都可以表示成這種文檔。

"
以文檔為中心"的文檔具有以下特點:

·
半結構化或非結構化的數據

·
較多的混和內容(Mixed Content)

·
文檔順序(Document-order)重要

下面的products.xml就是典型的一個"以文檔為中心"XML文檔。

products.xml


<Product>

   <Intro>

   The <ProductName>IPEDO Native XMLDB</ProductName> from

<Developer> Ipedo,Inc.</Developer> is <Summary>like a true native XML

Database, ...</Summary>

   </Intro>

...

</Product>



對于"以數據為中心"XML文檔,XED可以方便地將其中的數據抽取,存儲在傳統(tǒng)數據庫中,但對于 "以文檔為中心"XML文檔則顯得力不從心了。NXD由于無需在兩種模型之間轉換數據,因此在處理"以文檔為中心"XML文檔就很有優(yōu)勢。

NXD的技術特點



NXD
是專門為存儲XML文檔設計,也兼有一般數據庫的特性,例如支持事務,并發(fā)控制,查詢語言,安全機制,二次開發(fā)接口等。唯一的不同之處在于其內部存儲模型是基于XML文檔樹形結構,而非關系模型。

Ronald Bourret
在其"XML and Databases"一文中,對NXD有如下定義:

“NXD
的邏輯模型建立在XML文檔,而非文檔中的數據之上,并根據它來存取數據。該模型至少包括元素(element)、屬性(Attribute)PCDATA和文檔順序,例如XPath的數據模型……NXD的最小存儲單位是XML文檔,……”

一般認為,NXD應該具有以下幾個特性:文檔集合(Document Collection),查詢、更新,事務、鎖和并發(fā)控制、二次開發(fā)接口等。

文檔集合

很多NXD產品都支持文檔集合的概念,就像文件系統(tǒng)中的一個目錄或RDBMS中的一張表,一個文檔集合把一類文檔聚集在一起,方便用戶操作。集合級別上的查詢、修改操作都會反映到集合內的每個文檔。

一般說來,一個文檔集合關聯(lián)一種模式。將文檔加入到有模式的"文檔集合"時,會對要加入的文檔進行模式檢查。只有符合"文檔集合"模式的文檔才可以加入。

不同于RDBMS中表必須具有模式,NXD還提供"無模式"的文檔集合,即將一個文檔放入該集合中時,不必檢查該文檔的模式。"無模式"的文檔集合大大方便了用戶存儲格式很難統(tǒng)一,半結構化的XML文檔。

查詢語言

XPath
XQueryW3C推薦的針對XML文檔的查詢語言。目前大部分NXD產品都支持XPath,。另外還有一些NXD提供專有的查詢語言。

XPath
是基于XML文檔樹形模型,給出從某個結點起的查詢路徑,搜索文檔。目前,XPath作為數據庫查詢語言還有不少缺陷:不能分組、排序、連接等。

XQuery更像一種編程語言,支持循環(huán)等邏輯,支持分組、排序、連接等。相對于傳統(tǒng)數據庫的標準SQL語句, XQuery在對XML數據的查詢方面,是一種功能更強大、更易于編程的方法。

事務、鎖和并發(fā)控制

幾乎所有的NXD都支持事務處理。但是,鎖的粒度通常比較大,對整個文檔的而不是對文檔片斷(Fragment)的,所以多用戶并發(fā)性的支持相對較低。具體的并發(fā)程度取決于應用程序以及"文檔"的構成。

二次開發(fā)接口

幾乎所有NXD都提供編程接口:提供數據庫連接、瀏覽元數據、執(zhí)行查詢和返回結果的方法。返回結果通常是XML字符串、DOM樹、返回文檔的SAX解析器。如果查詢返回結果是多個文檔或文檔片斷(Fragment)的話,通常都會提供枚舉這些結果的方法。對于以Client/Server模式運行的數據庫產品,還可以將結果通過網絡協(xié)議(如HTTP)回傳給客戶端。

Round-tripping

NXD
一個重要特性是它為XML文檔提供了Round-tripping:可以將XML文檔存放在NXD中,而且再取回"同樣的"文檔。對于以"文檔為中心"的應用程序來說非常重要,因為易被XED忽略的CDATA部分、實體應用、注釋和處理指令是這些文檔不可缺少的組成部分。特別是對于法律和醫(yī)學領域中格式不允許隨意竄改的數據文檔。

所有NXD都能夠在元素(element)、屬性(Attribute)CDATA和文件順序的級別上為文檔提供Round-tripping,能達到的具體程度取決于數據庫產品。


更新和可持久化的DOM

大多數NXDXML文檔的更新是通過其提供的API調用完成的,或者簡單的替換整個文檔來實現的。某些NXD還提供了可持久化的DOMPersistent DOMPDOM):在某種持久性存儲介質上實現了DOM模型,對PDOM所作的改變直接反映在數據庫中。由于PDOM樹是"現場"的,數據庫通常和應用程序在同一個進程空間。

傳統(tǒng)數據庫與NXD的比較



XED
依靠傳統(tǒng)數據庫技術二三十年的積累,在與NXD競爭的前期,占據了XML應用市場的很大份額:在Intellor公司20013月份的調查報告中,XED的市場份額將近是NXD3倍,約12億美元。NXD雖然出場較晚,但市場份額增長速度卻非常強勁,在短短的3年中,已經由1999年的2,300萬美元發(fā)展到2001年的3.9億美元,并在今后兩年內將保持200%的增長率。目前,NXD主要應用在制造業(yè)、生物醫(yī)藥、電信等領域。

通過對比XEDNXD技術,我們可以更清楚地看到二者的差別,特別是反映到應用領域。這一點對那些需要選擇數據庫開發(fā)XML應用的用戶非常有意義。

XED
存取XML數據的技術特點

XED
中這部分工作是由XML網關模塊完成,它處于用戶邏輯模塊和數據庫邏輯模塊之間,將傳統(tǒng)數據庫包裝起來,給用戶提供了一個透明的XML數據源。

XED
存取XML文檔面臨以下幾個技術難點:

XML
文檔模式和XED模式的映射為了把XML文檔存到XED中,我們必須將XML文檔的模式(DTDXML Schema)映射到數據庫模式。同樣,將數據從XED取出來重新組合成XML文檔,要完成相反的操作。這種轉化發(fā)生在元素(element),屬性(attribute)和文本(text)上。由于XED注重的是數據而非格式,所以在這個過程中,XML文檔的大部分物理結構(CDATA、實體等)和一部分邏輯結構(處理指令、注釋等)都被忽略,而數據被保存。這種轉換可能會丟失信息,一個XML文檔存到XED里后再取出來,可能會變成另外一種格式。相對于NXD提供的Round-trippingXED只能在數據層面實現信息的保留。

XML數據的查詢支持

由于XML文檔模式和XED模式很難保持一致,所以在存取過程中經常用XSLT完成轉換。但XSLT非常耗時,這會對查詢性能造成很大影響。所以較好的解決方法是XED提供一種查詢語言來返回XML文檔。

目前已經有很多XED產品提供了這種語言,主要分三類:

基于模板(Template-Based)的查詢

這是目前RDBMS XED最流行的方法,將SQL語句嵌入到已寫好的XML文檔模板中,在實際查詢時候用結果替換。

基于SQL(SQL-Based)的查詢

通過在SQL語句的實現中增加對XML的支持,完成對XML數據的查詢。例如Oracle9iR2中,增加了XMLTYPE類型和一些新的函數包以支持XMLDB

XML
查詢

包括XPathXQuery。與上面兩種不同,這種查詢是建立在XML文檔模型上。也就是說,如果XED要支持這種查詢方式,必須提供虛擬的XML文檔。基本上目前的XED只支持XPath

數據類型、空值,字符集等

XML文檔和XED的轉換過程中,還會遇到數據類型的匹配、空值和字符集處理等問題。

XML
文檔中除了不被解析的一些實體外,所有數據的類型都以文本(text)來表示。在轉換過程中,可能會遇到類型不匹配的問題,諸如受到JDBC驅動模塊的限制、日期的不同國際化表示。

XML
文檔以靈活的方式來支持空值,如省略某個元素(element)、零長度的元素(element)和屬性(Attribute)等。而這些在XED中則有不同的意義。

同樣問題還出現在字符集、二進制數據、對XML文檔標簽的處理上。

XED
NXD的比較

XED的優(yōu)、劣勢

優(yōu)勢:

用戶不需要將傳統(tǒng)數據庫中原有數據重新移植到新系統(tǒng)中,只是稍加改變,就可以支持XML應用。

傳統(tǒng)數據庫技術,例如并發(fā)控制、事務等,已經很成熟

傳統(tǒng)數據庫知識和經驗依然有效,用戶不需要為了應用XML而再去學習一套新的數據庫技術

劣勢:

XML
文檔存入到數據庫時需要將其"打碎",取出時需要"組合",不僅耗時,而且文檔的格式可能會不同

XML
文檔和數據庫之間的模式轉換復雜,在前期開發(fā)階段需要投入很大

"以文檔為中心"、格式復雜的XML文檔處理性能較差

在采納XML技術標準方面較落后

NXD的優(yōu)、劣勢

優(yōu)勢:

XML
文檔存取無需模式轉換,存取速度快

對格式復雜的XML文檔支持比XED要好

支持大部分的最新的XML技術標準

劣勢:

在傳統(tǒng)數據庫技術方面比較薄弱,沒有經過時間的考驗

知識比較新,相應的支持人員和文檔資源都比較少

應用范圍僅局限在XML應用領域中

事實上,兩者的優(yōu)劣并沒有統(tǒng)一的答案,而是和具體的應用相關。在開發(fā)格式較簡單、數據內容比格式更重要的應用時,XED是不錯的選擇,特別是在已有的傳統(tǒng)數據庫上要提供XML的訪問接口的情況下。相反,如果XML文檔格式復雜,數據本身就有層次性關系,或是只有XML數據的時候,就可以考慮NXD,因為它提供更好的性能,對XML標準有更完備的支持。另外,由于NXD在事務、數據恢復等傳統(tǒng)數據庫技術方面還未得到時間的檢驗,因此對數據安全要求較高的一些應用,如銀行、金融系統(tǒng)的數據庫,建立在傳統(tǒng)數據庫上的XED相對來說更有優(yōu)勢。

NXD的現狀和前景



34年前IT業(yè)界還在為應該選用NXD還是傳統(tǒng)數據庫爭的不可開交時候,就已經有一些公司悄悄地投入到NXD的開發(fā)中。到今天,已有了十多種NXD產品。IBMMicrosoftOracle等傳統(tǒng)數據庫廠商,也正在踏入NXD的領域。

但走在NXD隊伍前面的卻是一些""公司。PC Magazine20026月份,針對市場上的4種主流產品做了詳細評測,包括性能、安全、易用性和對新技術的支持等。這4種產品是eXcelonExtensible Information Server 3.1IpedoIpedo XML Database 3.0NeoCoreNeoCore XMS 2.0Software AGTamino XML Server 3.1,其中Ipedo XML Database 3.0以滿分5分獲"Editor Choice"獎。下面我們以Ipedo XML Database 3.0IXD3)為例,窺探一下NXD技術的現狀。

IXD3
支持

·
事務、并發(fā)控制,提供可靠的數據恢復機制

·
支持XPathXQuery兩種查詢和In-memory的高速索引

·
基于圖形和命令行的用戶界面,并提供了各種工具,如導入/導出,備份等

·
支持XML文檔的多版本控制

·
支持DOMSOAPCOMEJBJava API多種數據庫訪問協(xié)議和開發(fā)接口

·
多種平臺:WindowsLinuxSolaris

在去年7月份發(fā)布的IXD3.1版本中,還提供基于ACL的安全控制、WEB_DAV等新功能,并集成了內容管理模塊,為基于Web Service等新技術的應用提供了一整套解決方案。詳細介紹請參閱[2]

可見,NXD發(fā)展到今天,技術已經日趨成熟,不僅提供傳統(tǒng)數據庫絕大部分功能,而且支持XML的最新技術標準,非常方便XML開發(fā)人員進行開發(fā)。最近在對Ipdeo XMLDB3.1Tarmino3.0Oracle9iR2內嵌的XMLDB的測試過程中,筆者發(fā)現NXD在開發(fā)XML應用方面不僅開發(fā)速度快,而且提供了更為豐富的API接口。

同時我們也應該看到,NXD技術發(fā)展時間相對傳統(tǒng)數據庫來說還很短,技術基礎還不是很牢固。在某些XML應用方面,NXD并不具有比XED很明顯的優(yōu)勢,特別是在對數據安全要求很高的數據庫應用領域。

NXD在處理XML數據時擁有傳統(tǒng)數據庫所不能比擬的天生優(yōu)勢,已促使越來越多的目光聚焦到它上面。隨著時間的推移,相信NXD也會得到檢驗。面對未來幾年巨大的市場份額,以及它每年200%的增長速度,我們沒有理由不為它的前景看好。

參考資料:

關于XML數據庫的資料:http://www.rpbourret.com/xml/XMLDBLinks.htm

Oracle XML
數據庫的資料:http://www.oracle.com/ip/index.html?xmldb_intro.html

Ipedo
數據庫的介紹:http://www.ipedo.com http://www.ipedo.com.cn

關于作者

朱亮,現任Ipedo中國(上海)研發(fā)中心高級軟件工程師,從事IPEDO Native XML數據庫的開發(fā)。對數據庫、XMLWebService等技術有較深研究,可以通過leon@ipedo.com與他聯(lián)系。

posted on 2009-08-18 21:16 肥仔 閱讀(945) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美日韩视频在线观看| 亚洲人精品午夜| 国产欧美日韩一区二区三区在线观看 | 久久久久久香蕉网| 欧美日韩成人网| 久久久久久电影| 久久久亚洲影院你懂的| 亚洲午夜未删减在线观看| 91久久国产综合久久| 亚洲免费观看在线视频| 99热在线精品观看| 99国产成+人+综合+亚洲欧美| 亚洲午夜在线观看视频在线| 一区二区三区欧美在线| 亚洲精品网站在线播放gif| 一区二区三区蜜桃网| 一二三四社区欧美黄| 亚洲一区二区三区免费视频| 欧美黄色免费| 99热精品在线| 亚洲天堂av电影| 亚洲淫性视频| 先锋影音久久| 久久久蜜桃一区二区人| 欧美成人激情在线| 国产精品h在线观看| 国产精品视频免费观看www| 国产九九精品视频| 国产一区二区在线观看免费播放 | 伊人久久成人| 亚洲黄色在线观看| 亚洲视频欧洲视频| 久久国产精品高清| 亚洲视频网在线直播| 午夜精品久久久久久久久久久久| 亚洲日本va午夜在线电影| 一本到12不卡视频在线dvd| 亚洲一区亚洲| 久久一日本道色综合久久| 老司机精品久久| 你懂的国产精品永久在线| 亚洲日本成人网| 亚洲免费在线电影| 免费成人高清在线视频| 欧美性事在线| 在线观看三级视频欧美| 中文欧美在线视频| 久久久美女艺术照精彩视频福利播放 | 午夜精品福利在线观看| 一本久道久久综合婷婷鲸鱼| 久久se精品一区精品二区| 男男成人高潮片免费网站| 久久久美女艺术照精彩视频福利播放| 欧美精品国产一区二区| 亚洲尤物在线视频观看| 欧美三区不卡| 国内揄拍国内精品久久| 妖精视频成人观看www| 久久久久综合网| 日韩午夜中文字幕| 久久精品成人欧美大片古装| 久久久精品一区二区三区| 欧美日韩成人一区二区| 娇妻被交换粗又大又硬视频欧美| 亚洲无人区一区| 免费在线欧美黄色| 午夜精品免费| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 欧美成人免费播放| 午夜精品久久久久久久久久久| 欧美精品一区在线观看| 在线激情影院一区| 久久激情婷婷| 亚洲一区观看| 国产精品三级视频| 亚洲一区二区在线播放| 亚洲欧洲日韩在线| 男人的天堂亚洲在线| 伊人狠狠色丁香综合尤物| 久久av一区二区三区| 亚洲夜晚福利在线观看| 欧美精品一区二区高清在线观看| 亚洲国产欧美一区| 免费成人高清在线视频| 亚洲日本激情| 韩国三级电影一区二区| 欧美资源在线| 久久视频在线看| 亚洲免费观看高清在线观看 | 美女精品自拍一二三四| 欧美aaa级| 亚洲最新中文字幕| 亚洲小视频在线观看| 激情一区二区三区| 日韩午夜在线播放| 国产亚洲综合在线| 亚洲国产精品专区久久| 国产精品久久久久久妇女6080| 久久精品五月婷婷| 欧美精品一区二区在线观看| 久久er精品视频| 欧美va亚洲va香蕉在线| 性欧美xxxx视频在线观看| 狼狼综合久久久久综合网| 亚洲一级黄色片| 麻豆成人在线| 久久成人免费电影| 欧美日韩在线综合| 欧美激情一区二区| 亚洲另类视频| 久久一区二区三区国产精品| 狂野欧美激情性xxxx欧美| 亚洲欧美一区二区激情| 久久免费视频在线| 欧美亚洲一区| 欧美美女日韩| 蜜桃av综合| 国产一区欧美| 一区二区三区四区五区在线| 亚洲福利久久| 久久久久久久一区二区三区| 亚洲欧美一区二区在线观看| 欧美精品不卡| 欧美大香线蕉线伊人久久国产精品| 国产精品久久久久免费a∨| 欧美黄色免费网站| 一区二区在线视频播放| 亚洲女与黑人做爰| 亚洲视频导航| 欧美日韩一区不卡| 亚洲美女在线看| 一区二区三欧美| 欧美精品久久久久久久免费观看| 欧美高清视频一区二区| 国产一区三区三区| 欧美在线观看你懂的| 欧美在线首页| 国产喷白浆一区二区三区| 亚洲视频在线观看三级| 亚洲一区在线免费| 国产精品私房写真福利视频| 一区二区激情视频| 中文久久精品| 欧美日韩一区二区免费在线观看| 亚洲精品日韩综合观看成人91| 日韩一级片网址| 欧美激情亚洲视频| 亚洲国内高清视频| 亚洲视频电影在线| 国产精品乱子乱xxxx| 亚洲欧美日韩在线高清直播| 久久精品国产久精国产思思| 国产精品一级二级三级| 午夜精品福利视频| 美女在线一区二区| 亚洲精品日韩一| 欧美午夜在线| 欧美在线视频观看| 免费看亚洲片| 一本大道av伊人久久综合| 国产精品国产馆在线真实露脸 | 亚洲毛片网站| 亚洲一区二区三区高清| 国产九九精品视频| 久久午夜视频| 日韩亚洲一区二区| 久久精品国产亚洲精品 | 亚洲日本aⅴ片在线观看香蕉| 欧美好吊妞视频| 亚洲一区二区三区高清| 米奇777在线欧美播放| 夜夜爽www精品| 狠狠色噜噜狠狠狠狠色吗综合| 欧美国产日韩亚洲一区| 亚洲午夜电影网| 欧美黑人一区二区三区| 国产一区二区精品久久| 亚洲视频在线二区| 欧美人成免费网站| 午夜免费电影一区在线观看| 亚洲一区二区三区中文字幕在线| 美日韩精品视频免费看| 欧美国产精品| 亚洲欧美日韩高清| 精品成人一区二区三区| 女女同性女同一区二区三区91| 亚洲第一久久影院| 亚洲国产精品久久久久秋霞不卡 | 国产一区二区欧美日韩| 久久人人看视频| 在线视频免费在线观看一区二区| 亚洲免费视频中文字幕| 亚洲福利视频二区| 欧美日韩免费网站| 久久人人97超碰精品888| 99精品热视频只有精品10| 久久精品国产亚洲一区二区三区 | 亚洲专区欧美专区| 亚洲全部视频| 韩国成人理伦片免费播放|