Active Databases as Information Systems

Download Report

Transcript Active Databases as Information Systems

Active Databases
as Information Systems
Dina Q Goldin
University of Connecticut, USA
with Srinath Srinivasa, IIIT Bangalore,
and Vijaya Srikanti, University of Connecticut
IDEAS 2004
1
What are Databases?
• Databases: systems that manage a large collection
of (static) data
– Database instance: a state of the database
• Users can perform queries & updates
– query: current DB state -> query answer
– update: current DB state -> new DB state
• Integrity constraints
– Specify relations between data values in a DB state
– Restrict the set of allowable DB states
• Databases disallow updates that violate the
constraints
– passive approach; something more active is desired
IDEAS 2004
2
Active Databases
•
Database system augmented with rule handling
– Active approach to managing integrity constraints
– ECA rules: event, condition, action
•
Many other uses have been found for active rules
– Maintaining materialized views
– Managing derived data
– Coordinating distributed data management
– Providing transaction models
– Etc.
•
Provably correct universal solutions lacking…
– Specifying rules
– Rules analysis (termination, confluence, observable determinism)
Perhaps the problem is that ADBs should not be viewed as DBs?
IDEAS 2004
3
Talk Overview
• From Databases to Active Databases
• Database Systems vs. Information Systems
• The Two Views of Active Databases
– as database systems
– as information systems
• Why switch?
IDEAS 2004
4
DBs vs. IS’s
state
user data
user data, logs and histories,
user profiles
job
updates & queries of data
data-backed services to users
output
determined completely by
query/update specification
individualized based on
user history & preferences
integrity static integrity
concerns (of a DB state),
maintained passively
nature
static, algorithmic data
transformation engine
static & dynamic integrity
(of IS behavior),
maintained actively
dynamic, interactive service
providing system
Information System = Database + Interaction [GST00]
IDEAS 2004
5
Example: Integrity Constraints
• Static (Data) Integrity
– Express conditions for single database states
– Can be specified in first-order logic
• Dynamic (Interactive) Integrity
- Constraints on state sequences
- Express conditions for traversal of state space of the system
(i.e. its behavior).
- Traversal may involve interaction with user(s).
DBs support only static integrity constraints.
IDEAS 2004
6
Example: Operations
• Operations
– Logical unit of dynamics
– Services in IS, transactions in DB
– IS service: a semantic process that usually involves interaction with
one or more external agents (users, other services)
– Three types: user, system, prompted
• User operations
- Initiated by the user (CMS example: submitting a paper).
- System cannot predict when it is initiated, nor its trajectory.
•
System operations
– Initiated and carried out by the system (ex: deleting expired member).
– Internal to the system; user does not control, may be unaware.
• Prompted operations
– Initiated by the system, involve interaction with the user (CMS
example: assign reviewer to paper after it’s submitted).
DBs support only atomic user operations.
IDEAS 2004
7
The Principles of the
Two Fields
• We have provided a working distinction for the
purpose of discussing the “principles” of each field
• Borders between DBs and ISs are blurred:
– Database Systems provide a data management service to users
(can be viewed as a simple information system)
– Data-Intensive Information Systems perform data management
• Active DBs fall within that blurry area
– a DB augmented with active rule handling
(to perform system operations)
– a data-intensive IS restricted to rule-handling services
IDEAS 2004
8
Two Views of Active Databases
as Databases with Rules
state
job
output
user data
user data, rule-related logs
& histories, rule-related user
profiles
updates & queries of data,
data-backed rule-based
by user as well as rule-driven services to users
determined completely by
query/update specification
integrity static integrity,
concerns maintained actively via rules
nature
as specialized IS
static, algorithmic data
transformation engine
individualized based on
user history & preferences
static & dynamic integrity,
maintained actively
dynamic, interactive service
providing system
The traditional DB view is more limiting,
does not allow ADBs to achieve their full potential.
IDEAS 2004
9
Talk Overview
• From Databases to Active Databases
• Database Systems vs. Information Systems
• The Two Views of Active Databases
– as database systems
– as information systems
• Why switch?
– Active views example
– ADB wish list
IDEAS 2004
10
ADBs as Information Systems
The IS view naturally endows ADBs with needed functionality
•
•
•
•
•
Individualization: customization of requests, as well as of feedback viewing
Use of logs and profiles
User interaction
Interaction among rules
Dynamic integrity
Example: active views
IDEAS 2004
11
Active Views
• Active Views
– Mediate between ADB users and data
– Automate user monitoring of certain events or condition
– Provide subscription services and notification services
• DB view of active views
- Compile user specifications into active rules.
- Provide active caching of materialized views.
•
IS view of active views
– Provide individualized services to ADB users: event
monitoring, subscription and notification.
– A more natural approach
IDEAS 2004
12
ADB Wish List
Rule instances
• Support multiple instances of the same rule
• Now possible only when the condition part of their ECA structure differs.
• Can be directly mapped to different instances of IS services.
Rule history
• Store the history of events, conditions, actions for each rule instance.
• To help transactions handle dynamic integrity violations during rule execution.
Rule interaction
• Allow rules to enable, disable, or wait for other rules.
• As separate functionality rather than by extending the condition part of ECA
structure.
• Rules need not be aware of external control over their behavior.
• For easier formulization of synchronization across semantic services.
IDEAS 2004
13