We present our research on the concurrent execution of rules in a database environment. Traditionally, the serializability criterion of correctness is defined on the basis of read/write conflicts. With rules, however, the conditions must be true for the actions to execute, and rules must fail when their conditions are no longer true. A different correctness criterion is thus defined on the basis of conflicts between conditions and actions. We develop a locking based protocol and discuss extensions to a conventional transaction manager. One extension is a new lock compatibility matrix which provides greater concurrent access. The second extension is to allow concurrent execution within a transaction. A simulation-based performance study is described. We identify characteristic features of the rules and study their impact on performance. The impact of using the new lock compatibility matrix, the effect of varying the database size and the number of rules executing concurrently, and the effect of skew are studied.
ASJC Scopus subject areas
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence