An Adaptive Algorithm for Incremental Evaluation of Production Rules in Databases

Several incremental algorithms have been proposed ro evaluate database production rule programs. They all derive from existing incremental algorithms, lke RETE and TREAT, developed for rule-based systems in the framework of artificial intelligence. In this paper, we address a specific but crucial problem that arises with these incremental algorithms : how much data should be profitably materialized and maintained in order to speed-up program evaluation ?. We show that the answer exposes to a well known space-time tradeoff. Our major contribution is to propose and adaptive algorithm that takes as input a program of rules and returns for each rule, the set of most profitable relational expressions that should be maintained in order to obtain a good space-time compromise. A notable feature of our algorithm is that it works for both set-oriented and instance-oriented rules. We compare our algorithms with existing incremental algorithms for database production rule programs.

[1]  Daniel P. Miranker TREAT: A Better Match Algorithm for AI Production System Matching , 1987, AAAI.

[2]  Jennifer Widom,et al.  An overview of production rules in database systems , 1993, The Knowledge Engineering Review.

[3]  Daniel P. Miranker TREAT: a better match algorithm for AI production systems , 1987, AAAI 1987.

[4]  Eric Simon,et al.  Implementing High Level Active Rules on Top of a Relational DBMS , 1992, VLDB.

[5]  Arie Segev,et al.  Data Management for Large Rule Systems , 1991, VLDB.

[6]  Timos K. Sellis,et al.  Implementing large production systems in a DBMS environment: concepts and algorithms , 1988, SIGMOD '88.

[7]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

[8]  Eric Simon,et al.  Making deductive databases a practical technology: a step forward , 1990, SIGMOD '90.

[9]  Robert Paige,et al.  Finite Differencing of Computable Expressions , 1982, TOPL.

[10]  Eric N. Hanson,et al.  Rule condition testing and action execution in Ariel , 1992, SIGMOD '92.

[11]  Robert Paige,et al.  Transformational programming: applications to algorithms and systems , 1983, POPL '83.

[12]  Michael Stonebraker,et al.  On rules, procedure, caching and views in data base systems , 1990, SIGMOD '90.

[13]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[14]  Jennifer Widom,et al.  Implementing Set-Oriented Production Rules as an Extension to Starburst , 1991, VLDB.

[15]  François Bry,et al.  Towards an efficient evaluation of general queries: quantifier and disjunction processing revisited , 1989, SIGMOD '89.

[16]  Per-Åke Larson,et al.  Updating derived relations: detecting irrelevant and autonomously computable updates , 1986, VLDB.

[17]  Nancy Martin,et al.  Programming Expert Systems in OPS5 - An Introduction to Rule-Based Programming(1) , 1985, Int. CMG Conference.