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的实现)