220 likes | 333 Views
XML 数据库测试. 报告人:霍江涛 2011-11-26 网络与移动数据管理实验室. XML 数据库简介. XML 数据库是一种支持对 XML 格式文档进行存储和查询等操作的数据管理系统。 XML 管理系统主要有两种类型: ( 1 )支持 XML 的数据库。如 ORACLE , DB2 , SQL Server ( 2 ) Native XML 数据库。 MarkLogic,DBDOM,OrientX 等. XML 数据库概述. ( 1 ) MarkLogic
E N D
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支持情况中,支持最好的依次是Sedna,MarkLogic Server,Oracle XML DB,OrientX。可以看出Sedna和MarkLogic Server支持率为100%的大类的比例要高于Oracle XML DB。这可能是因为前两者是专门针对xml的数据库系统,而Oracle XML DB要建立在其复杂的关系数据库基础之上,难免会有包袱。
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、要动手多实践。