Path sharing and predicate evaluation for high-performance XML filtering

被引:237
作者
Diao, YL
Altinel, M
Franklin, MJ
Zhang, H
Fischer, P
机构
[1] Univ Calif Berkeley, Dept EECS, Berkeley, CA 94720 USA
[2] IBM Corp, Almaden Res Ctr, San Jose, CA 95120 USA
[3] Heidelberg Univ, Inst Comp Sci, Heidelberg, Germany
来源
ACM TRANSACTIONS ON DATABASE SYSTEMS | 2003年 / 28卷 / 04期
关键词
algorithms; performance; XML filtering; structure matching; path sharing; Nondeterministic Finite Automaton; content-based matching; predicate evaluation; nested path expressions;
D O I
10.1145/958942.958947
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 [计算机科学与技术];
摘要
XML filtering systems aim to provide fast, on-the-fly matching of XML-encoded data to large numbers of query specifications containing constraints on both structure and content. It is now well accepted that approaches using event-based parsing and Finite State Machines (FSMs) can provide the basis for highly scalable structure-oriented XML filtering systems. The XFilter system [Altinel and Franklin 2000] was the first published FSM-based XML filtering approach. XFilter used a separate FSM per path query and a novel indexing mechanism to allow all of the FSMs to be executed simultaneously during the processing of a document. Building on the insights of the XFilter work, we describe a new method, called "YFilter" that combines all of the path queries into a single Nondeterministic Finite Automaton (NFA). YFilter exploits commonality among queries by merging common prefixes of the query paths such that they are processed at most once. The resulting shared processing provides tremendous improvements in structure matching performance but complicates the handling of value-based predicates. In this article, we first describe the XFilter and YFilter approaches and present results of a detailed performance comparison of structure matching for these algorithms as well as a hybrid approach. The results show that the path sharing employed by YFilter can provide order-of-magnitude performance benefits. We then propose two alternative techniques for extending YFilter's shared structure matching with support for value-based predicates, and compare the performance of these two techniques. The results of this latter study demonstrate some key differences between shared XML filtering and traditional database query processing. Finally, we describe how the YFilter approach is extended to handle more complicated queries containing nested path expressions.
引用
收藏
页码:467 / 516
页数:50
相关论文
共 40 条
[1]
AKSOY D, 1998, P 1 INT C ADV MULT C, P194
[2]
Altinel M, 1999, SIGMOD RECORD, VOL 28, NO 2 - JUNE 1999, P544, DOI 10.1145/304181.304571
[3]
Altinel Mehmet., 2000, VLDB, P53
[4]
INFORMATION FILTERING AND INFORMATION-RETRIEVAL - 2 SIDES OF THE SAME COIN [J].
BELKIN, NJ ;
CROFT, WB .
COMMUNICATIONS OF THE ACM, 1992, 35 (12) :29-38
[5]
Bruno N., 2002, P 2002 ACM SIGMOD IN, P310
[6]
BRUNO N, 2003, P ICDE 2003
[7]
Cetintemel U., 2000, Proceedings of 16th International Conference on Data Engineering (Cat. No.00CB37073), P622, DOI 10.1109/ICDE.2000.839477
[8]
Efficient filtering of XML documents with XPath expressions [J].
Chan, CY ;
Felber, P ;
Garofalakis, M ;
Rastogi, R .
18TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 2002, :235-244
[9]
Chen J., 2000, SIGMOD 00, P379, DOI DOI 10.1145/342009.335432
[10]
Design and evaluation of alternative selection placement strategies in optimizing continuous queries [J].
Chen, JJ ;
DeWitt, DJ ;
Naughton, JF .
18TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 2002, :345-356