两种方法的较量:XML查询处理性能对比
立即解锁
发布时间: 2025-08-23 00:53:54 阅读量: 4 订阅数: 17 


XML信息检索中的相关性评分算法研究
### 两种方法的较量:XML 查询处理性能对比
#### 1. 引言
在 XML 数据管理领域,存储和查询处理是关键环节。通常,XML 数据存储有两种主要方法:基于模式感知(schema-conscious)和模式无意识(schema-oblivious)的方法。基于模式感知的方法会根据 XML 文档的 DTD 或 XML 模式推导出关系模式,例如 Shared-Inlining 和 LegoDB;而模式无意识的方法则不依赖于这些模式信息。在存储 XML 数据后,通常会将 XQuery 或 XPath 转换为 SQL 进行查询评估。
以往的研究大多认为模式感知的方法在查询处理和存储大小方面表现更优。然而,本文将挑战这一观点,研究模式无意识方法(如 Sucxent++)是否能在某些类型的非递归 XML 查询中超越模式感知方法(如 Shared-Inlining)。
#### 2. 相关工作
早期对 XML 存储策略性能评估的研究,如 Tian 等人的工作,研究了五种存储 XML 文档的策略,包括文件系统存储、关系数据库系统存储(如 Edge 和 Attribute 方法、Shared-Inlining)和对象管理器存储。近期,Lu 等人使用 XMark 和 XMach 基准测试了六种关系方法在商业 RDBMS 和原生 XML 数据库系统上的性能。这些研究都表明模式感知方法优于模式无意识方法。
本文的研究与上述工作有所不同:
- **采用更高效的模式无意识策略**:选择了相对更高效的模式无意识存储策略 Sucxent++。
- **使用更大的数据集**:在 1GB 的更大数据集上评估性能,而以往研究的数据集最大为 140MB 和 150MB。
- **测试更多样的查询**:实验了更广泛、更多样的 XML 查询。
- **挑战传统观点**:证明模式无意识方法在某些非递归 XML 查询中可以超越模式感知方法。
常见的 XML 基准测试包括 XMach-1、XMark、XOO7 和 XBench。XMach-1 是多用户基准,基于 Web 应用,考虑文本和目录数据;XMark 是单用户基准,基于互联网拍卖网站;XOO7 源于 OO7,用于测试面向对象 DBMS 的效率;XBench 则涵盖了所有 XQuery 功能。
#### 3. 背景
##### 3.1 代表性系统
选择 XParent、Sucxent++ 和 Shared-Inlining 作为基于碎片化的代表性方法进行性能研究,原因如下:
- **无需修改关系引擎**:所选存储方案的实现无需修改关系引擎,以增强可移植性和在现成商业 RDBMS 上的易实现性。因此,未选择动态间隔方法和某些需要增强关系引擎的方法,因为在缺乏 XML 特定原语的情况下,这些方法的查询处理成本可能较高。
- **良好的查询性能**:XParent 显著优于 Edge 和 XRel 方法;Sucxent++ 在某些递归 XML 查询中优于 XParent 和 Shared-Inlining,且 XParent 的存储空间是 Sucxent++ 的 2.5 倍。因此,XParent 和 Sucxent++ 被选为模式无意识方法的代表。
- **选择 Shared-Inlining 而非 LegoDB**:Shared-Inlining 是文献中广泛使用的模式感知方法代表;LegoDB 依赖于应用和查询工作负载;且无法获取 LegoDB 的源代码。
##### 3.2 实验设置
- **开发原型**:使用 Java JDK 1.5 和商业 RDBMS 开发了 Sucxent++、XParent 和 Shared-Inlining 的原型。
- **实验环境**:在 P4 1.4GHz 机器上进行实验,该机器有 256MB RAM 和 40GB(7200rpm)IDE 硬盘,操作系统为 Windows 2000 Professional。
- **数据集**:使用 XBench 数据集比较存储大小、插入和提取时间。该数据集包括数据中心和文本中心的单文档和多文档应用,测试了小(10MB)、正常(100MB)和大(1GB)数据集的可扩展性。为每个场景创建单独的数据库实例。
- **查询测试**:对该数据集测试了 22 个查询,这些查询涵盖了各种特性,如精确匹配、排序、返回多个元素等。
| 数据类型 | 单文档(SD) | 多文档(MD) |
| --- | --- | --- |
| 文本中心(TC) | 在线词典、数字图书馆、新闻语料库 | 电子商务目录、交易数据 |
| 数据中心(DC) | 电子商务目录、交易数据 | 在线词典、数字图书馆、新闻语料库 |
| 数据集 | 10MB 节点数 | 100MB 节点数 | 1GB 节点数 |
| --- | --- | --- | --- |
| DC/MD | 219,382 | 2,183,331 | 23,821,115 |
| DC/SD | 238,260 | 2,394,886 | 24,810,315 |
| TC/MD | 229,258 | 2,335,180 | 23,704,294 |
| TC/SD | 279,004 | 2,765,209 | 28,419,013 |
为确保测试结果的一致性,采取了以下步骤:
1. **收集统计信息**:在实验前收集统计信息,以
0
0
复制全文
相关推荐










