XML数据库测试.ppt
XML数据库测试报告人:霍江涛2011-11-26网络与移动数据管理实验室XML数据库简介XML数据库是一种支持对XML格式文档进行存储和查询等操作的数据管理系统。XML管理系统主要有两种类型:(1)支持XML的数据库。如ORACLE,DB2,SQL Server(2)Native XML数据库。MarkLogic,DBDOM,OrientX等XML数据库概述(1)MarkLogicNative XML Database的代表,该数据库广泛应用于出版行业。例如:BusinessWeek(商业周刊)、McGraw-Hill Education、约翰威立父子出版公司等等。(2)Oracle XML DBXML-Enabled Database的代表。该数据库已经成功应用于以下企业:Northern California Power Agency(NCPA),加州立法顾问局,Warner Music Group(WMG)(3)Sedna开源的XML数据库的代表。Sedna DBMS是一个原生的XML 数据库(NXD)管理系统,最早由俄罗斯科学院系统程序研究所MODIS小组开发的。Sedna实现了XQuery,并且专门为这个语言开发了他的数据模型拓展技术。(4)OrientXOrientX是国内具有独立知识产权的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、要动手多实践。Thank you very much!