Issues in Integrating Active Rules into Database Systems
Publication or External Link
An essential feature of next-generation database systems is the ability to define and process rules that respond to database events. We address several issues involved in fully integrating such active rules into multi-user database systems. We do this by investigating two very different database rule systems: the Update Dependency Language, which uses a tentative goal-oriented search strategy, and the Starburst Rule System, which uses a forward-chaining irrevocable control strategy.
For the Update Dependency Language, we formally define the language and define safety requirements for its conditions and procedures. We analyze the lacking requirements for two different execution strategies: one that uses a depth-first search and one that uses a concurrent search. We show that it is incorrect to release shared locks on failed subpaths before a successful path is found. However, we show that two-phase locking can be relaxed to allow the early release of exclusive locks along failed subpaths.
For the Starburst Rule System, we describe the components that handle recovery in the presence of system- generated and user-requested rollbacks. We investigate the problem of maintaining rule priorities in the Starburst Rule System and others, describing the requirements and implementation of a priority system that combines user-defined priorities and system-generated default priorities. To support an environment in which users can modify rules during normal database operations, we define consistency requirements for rule definition operations and present a solution based on hierarchical locking that maintains these consistency requirement in a multi-user environment.