XML數據庫探討3
2024-07-21 02:08:13
供稿:網友
本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。相關主題在前面已經發了兩篇文章了。雖然也有不少人閱讀(心中竊喜),卻罕有評論。甚感遺憾。不管是西紅柿還是臭雞蛋,我都喜歡。很多東西,都是越辨越明的。下面接著寫我的一些想法(研究成果說不上,就當想法吧):
據我分析,現有的native-xml數據庫,又過分強調了對xml文檔的處理,而忽視了數據庫本身的作用:對客觀事物的描述和存儲。所以在處理傳統的關系型數據庫所涉及的業務領域,并沒有顯示出多大的優勢,反而會有這樣或者那樣的不足。 針對以上的敘述,計劃中的xmldb應該首要實現一下目標(彌補普通數據庫的不足和解決一般native-xml數據庫的不足): 基于描述的數據庫設計,不同于一般數據庫的基于數據的數據庫設計,或者nxd數據庫基于文檔的的數據庫設計,新的xmldb,將是基于描述的數據庫設計,即,基于對客觀事物的描述,充分發揮xml文檔在事物描述上的優勢,以接近自然語言的方式來存儲事物。 增加版本的概念。能夠讓不同版本的數據文件協同工作。 數據分布式存儲和強大的聚合能力。最小的儲存單位不是xml 儲存單元,而是xml db fragment,可以把同一個表的內容以不同的方式存貯在不同的物理位置,同時對用戶透明,利用轉換器和聚合器,對用戶來說還是一個完整的xmldbdata對象。 基于多線程的數據檢索能力,能夠比較迅速的找到所需要的數據內容。利用多線程,可以對一個表的多個xmldb fragment同時進行檢索,然后通過聚合器,聚合成一個完整的xmldbdata對象,實現數據的快速檢索。 支持基于xml的查詢語言(xquery?maybe yes,maybe no)。先實現一個獨有的,基于xml的查詢方式。在這個基礎上,通過轉化器,可以同時提供對xquery,甚至sql語言的支持 支持傳統數據庫里一些基本的概念和功能,比如數據同步,鎖的操作,以及事務的操作。這些都是數據庫里面一些很經典也很重要的概念,是一個完整的數據庫所不可缺少的一部分,應該支持和實現。 提供完備的adapter機制,支持對傳統sql語言操作方式的支持。 提供用戶自定義函數功能。先實現用戶使用java語言自定義函數,技術成熟后,提供腳本語言的支持。 提供多種連接方式和安全解決方案。提供https,soap等多種網絡連接方式,并且數據庫本身是一個開放的接口,可以加載不同的安全解決方案。 提供豐富的連接和調試工具(屬于可選目標,除了命令行調試工具外,其他的將不包括在核心組件中)
接著將要討論的設計方案,重點就是為了實現上面所論述的那些目標,我將完成系統設計和核心模塊的詳細設計,爭取把它做成一個開源的數據庫軟件,我們一起努力。(以下內容主要是指xmldb的java的實現)