XML数据库测试

Download Report

Transcript XML数据库测试

报告人:霍江涛
2011-11-26
网络与移动数据管理实验室
XML数据库简介
 XML数据库是一种支持对XML格式文档进行存储和查
询等操作的数据管理系统。
 XML管理系统主要有两种类型:
 (1)支持XML的数据库。如ORACLE,DB2,SQL Server
 (2)Native XML数据库。MarkLogic,DBDOM,OrientX
等
XML数据库概述
 (1)MarkLogic
 Native XML Database的代表,该数据库广泛应用于出版行业。例如:
BusinessWeek(商业周刊)、McGraw-Hill Education、约翰威立父子
出版公司等等。
 (2)Oracle XML DB
 XML-Enabled Database的代表。
 该数据库已经成功应用于以下企业:Northern California Power




Agency(NCPA),加州立法顾问局 ,Warner Music Group(WMG)
(3)Sedna
开源的XML数据库的代表。
Sedna DBMS是一个原生的XML 数据库(NXD)管理系统, 最早由俄罗斯科
学院系统程序研究所MODIS小组开发的。Sedna实现了XQuery,并且专
门为这个语言开发了他的数据模型拓展技术。
(4)OrientX
 OrientX是国内具有独立知识产权的XML数据库的代表。
XML数据库测试概述
 通过采用一套评测基准,对XML数据库的基础功能进行测





试。
XML数据库测试分类:
文档的导入导出: 通过测试不同大小文档的导入导出时间,
分析各系统数据存取的效率及其伸缩性。
功能测试:设计大约1000个用例,(包括:XPath,
XQurey, XQurey/Update)测试各系统对这些语言的支持
程度
性能测试:设计专门的测试用例,来比较系统特定点上的
性能。
事务并发测试:根据TPox测试基准,通过多个用户同时
不断的对数据库进行查询、插入、删除、更改来模拟并发。
XML评测基准
 1、X007基准测试
 2、Xmach-1基准测试
 3、Xmark基准测试
 4、TPoX基准测试
 5、XPathMark基准测试
 6、Michigan基准测试
测试基准的比较
测试环境配置
基础功能测试概述
 测试选用XMark测试基准,测试的数据均由XMark数据生
成工具自动生成,数据大小有两种33KB和10MB。小数据
主要用于简单功能测试,其好处是容易分析结果是否和预
期一致。大数据主要用于复杂的XQuery查询,如连接、分
组、排序等功能,大数据在一定程度上可以保证复杂查询
结果不为空。
 基础功能测试主要测试的是数据库系统的基本操作和对
W3C标准的支持程度。基础功能测试共有1200多个测试用
例,基本上涵盖了W3C中XPath,XQuery,
XQuery/Update三方面所有的功能。通过测试用例的总体
通过率,可以基本了解四种数据库对W3C标准的支持程度。
然后通过对XPath、XQuery、函数分别进行分析,了解四
种数据库对各部分的支持程度。由于XQuery/Update是推
荐标准,在此不单独分析。
基础功能测试用例
基础功能测试用例
总体测试结果
总体测试结果分析
 从整体状况上来看,测试项目共分为43类,1210个测
试点,包含了作为XML数据库所应该支持的基本操作
和W3C标准的测试点
 从结果上看,Sedna的正确结果最多达到1156个,整
体通过率为95.54%,其次是MarkLogic Server达到
1145个,整体通过率为94.63%,Oracle XML DB达到
1079个,整体通过率为89.17%,最后是OrientX为81
个,整体通过率为6.69%
Xpath测试结果
Xpath测试结果
Xpath测试结果分析
 在XPath支持情况中,支持最好的依次是Sedna,
MarkLogic Server,Oracle XML DB,OrientX。可以
看出Sedna和MarkLogic Server支持率为100%的大类的
比例要高于Oracle XML DB。这可能是因为前两者是
专门针对xml的数据库系统,而Oracle XML DB要建立
在其复杂的关系数据库基础之上,难免会有包袱。
Xquery测试结果及分析
Xquery测试结果及分析
 在XQuery支持情况中,支持最好的依次是Sedna,
MarkLogic Server,Oracle XML DB,OrientX。
 XQuery查询引擎是XML数据库系统的核心部分,但由
于XQuery语言本身比较复杂,xml数据库系统技术也
没有关系数据库那么成熟,所以各个数据库对XQuery
的支持并不完美。
函数处理测试结果及分析
函数处理测试结果及分析
函数处理测试结果及分析
 XQuery包含100多个内置函数,它们主要针对字符串、
数值、日期和时间的比较和相互转化,对node和
QName的操作,序列操作,布尔值等等。
 在函数处理支持情况中,支持最好的依次是
MarkLogic Server,Sedna,Oracle XML DB,OrientX。
总结
 1、各个XML数据库都有自己的优势和不足。
 2、测试是一项有技术性和技巧性的工作。
 2、搞研究重在做精的基础上求博。
 3、要动手多实践。