Active Database Systems: Expectations, Commercial Experience, and Beyond

We confront the promises of active database systems with the result of their use by application developers. The main problems encountered are the limitations of existing trigger languages, insufficient methodological support in analysis and design, missing development and administration tools for triggers, and weak performance. After analyzing each of these problems, we concentrate on performance because we discovered it is one of the main reasons that users are reluctant to use active rules in the development of large applications. We show, using simple concrete examples, that optimizing large applications is rendered difficult by the separation of transactions and triggers and the misunderstanding of their subtle interactions. We argue that tools, which provide assistance to both programmers and database designers to optimize their applications and master their evolution, are strongly needed. Finally, we outline several perspectives for the improvement of active database systems.