On supporting containment queries in relational database management systems

On supporting containment queries in relational database management systems
复制标题

DOI:
10.1145/376284.375722
复制
发表时间:
2001-06-01
期刊:
影响因子:
1.1
通讯作者:
Lohman, G
Lohman, G
中科院分区:
计算机科学4区
文献类型:
--
作者:
Zhang, C;Naughton, J;Lohman, G

文献摘要

被引文献

相似文献

几乎所有查询XML的建议都包括一类我们称之为“包容查询”的查询。同样清楚的是,在可预见的未来,大量的XML数据将存储在关系数据库系统中。这就提出了如何支持这些包容查询的问题。作为信息检索的基础的倒排列表技术非常适合这些查询,但我们应该(A)在一个单独的松散耦合的IR引擎中实现该技术,还是(B)使用RDBMS的本地表和查询执行机制?有了选项(B),二十多年来在RDBMS查询优化、查询执行、可伸缩性以及并发控制和恢复方面的工作立即扩展到实现这些新操作的查询和结构。但如果方案(B)的表现落后于方案(A)太多,所有这些都将变得无关紧要。在这篇文章中,我们在两个商业关系数据库系统和一个特殊用途的倒排表引擎中使用原生实现来研究这两种方法的一些性能影响。我们的性能研究表明,虽然RDBMS通常不太适合这样的查询,但在某些条件下,它们的性能可以超过倒排表引擎。我们的分析进一步确定了IR和RDBMS实现的性能差异的两个重要原因:所采用的连接算法和硬件缓存利用率。我们的结果表明,与大多数人的预期相反,经过一些修改,RDBMS中的本机实现可以更有效地支持这类查询
Virtually all proposals for querying XML include a class of query we term "containment queries". It is also clear that in the foreseeable future, a substantial amount of XML data will be stored in relational database systems. This raises the question of how to support these containment queries. The inverted list technology that underlies much of Information Retrieval is well-suited to these queries, but should we implement this technology (a) in a separate loosely-coupled IR engine, or (b) using the native tables and query execution machinery of the RDBMS? With option (b), more than twenty years of work on RDBMS query optimization, query execution, scalability, and concurrency control and recovery immediately extend to the queries and structures that implement these new operations. But all this will be irrelevant if the performance of option (b) lags that of (a) by too much. In this paper, we explore some performance implications of both options using native implementations in two commercial relational database systems and in a special purpose inverted list engine. Our performance study shows that while RDBMSs are generally poorly suited for such queries, under certain conditions they can outperform an inverted list engine. Our analysis further identifies two significant causes that differentiate the performance of the IR and RDBMS implementations: the join algorithms employed and the hardware cache utilization. Our results suggest that contrary to most expectations, with some modifications, a native implementation in an RDBMS can support this class of query much more efficiently