The Processing and Evaluation of Transitive Closure Queries

A transitive closure operator will be an important new operator in future deductive database systems. We discuss the compilation of recursive rule clusters into formulas containing transitive closure operations and study three promising algorithms for the processing of transitive closure queries: the wavefront algorithm, the δ-wavefront algorithm and the level-relaxed δ-wavefront algorithm. The relative processing efficiency of these algorithms are analyzed and compared based on different database structures and accessing methods. Our study shows that the δ-wavefront algorithm performs consistently better than the wavefront algorithm, and the level-relaxed δ-wavefront algorithm has high potential of further reducing I/O accessing cost on the databases with clustered derivation paths. The study also provides some interesting heuristics on the database structures and implementation techniques in the processing of recursive database queries.

[1]  Patrick Valduriez,et al.  Join and Semijoin Algorithms for a Multiprocessor Database Machine , 1984, TODS.

[2]  Edward Babb,et al.  Implementing a relational database by means of specialzed hardware , 1979, TODS.

[3]  Alfred V. Aho,et al.  Universality of data retrieval languages , 1979, POPL.

[4]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[5]  François Bancilhon,et al.  Naive Evaluation of Recursively Defined Relations , 1986, On Knowledge Base Management Systems.

[6]  Robert A. Kowalski,et al.  Logic for problem solving , 1982, The computer science library : Artificial intelligence series.

[7]  Ghassan Z. Qadah The Equi-Join Operation on a Multiprocessor Database Machine: Algorithms and the Evaluation of their Performance , 1985, IWDM.

[8]  H. V. Jagadish,et al.  Direct Algorithms for Computing the Transitive Closure of Database Relations , 1987, VLDB.

[9]  Jeffrey F. Naughton,et al.  One-sided recursions , 1987, J. Comput. Syst. Sci..

[10]  Jeffrey D. Ullman,et al.  Implementation of logical query languages for databases , 1985, TODS.

[11]  Jeffrey F. Naughton,et al.  Data independent recursion in deductive databases , 1985, J. Comput. Syst. Sci..

[12]  Patrick Valduriez,et al.  Evaluation of Recursive Queries Using Join Indices , 1986, Expert Database Conf..

[13]  Hongjun Lu,et al.  Design and evaluation of algorithms to compute the transitive closure of a database relation , 1987, 1987 IEEE Third International Conference on Data Engineering.

[14]  Lawrence J. Henschen,et al.  Handling redundancy in the processing of recursive database queries , 1987, SIGMOD '87.

[15]  Lawrence J. Henschen,et al.  On compiling queries in recursive first-order databases , 1984, JACM.

[16]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.