Temporal Data Models

Download Report

Transcript Temporal Data Models

Temporal and Real-Time
Databases: A Survey
by Gultekin Ozsoyoglu and
Richard T. Snodgrass
Presentation by Didi Yao
Introduction

Survey two areas that can benefit from cross
infusion: temporal and real-time DBs
 Temporal: time-varying info
 Real-time: transactions w/ time constraints
 Both can benefit from one another
Real-Time Databases

Transactions have deadlines and timing
constraints
 Time constraints on: queries, insertions,
deletions, updates, database integrity
 More work has been done on temporal than
real-time DBs (600 temporal papers, 150
real-time papers)
The Time Domain

2 structures: linear and branching
 Densities of the time line:
– Discrete models
– Dense models
– Continuous models

naturals
reals or rationals
reals (no gaps)
Most proposals for adding temporal to
relational data models use discrete
The Time Domain (cont.)

Relative (unanchored): 3PM, Nov 9, 2000
 Relative has direction
 Absolute (anchored): 3 hours
 Absolute, in a way, is also relative
The Time Domain (cont.)

Valid time
– When a fact was true in reality
– Bounded or unbounded

Transaction time
– When a fact was stored
– Grows monotonically

Others: user-defined time, decision time
 Indeterminacy- “don’t know exactly when”
Time in Real-Time DBs

Valid time
– Used for data that have real-world counterparts

Transaction time
– Transactions affecting real-time systems
– Never aborted or rolled back

Does not assume future, linear, bounded
 Does not deal with temporal indeterminacy
Temporal Data Models (relational)

Time support in conventional DBs is only
user-defined time: Date, Time, Timestamp
 Table I (temporal relational data models):
– 14 “valid time” models
– 3 “transaction time” models
– 9 “valid and transaction time” models

“Valid time” wins
Temporal Data Models (OO)

Table II
(temporal OO data models):
– 3 “valid” models
– 5 “transaction” models
– 4 “both” models
Valid Time (Temporal Model)

Single chronon
– Event timestamp

Interval
– Interval timestamp

Valid-time
– Set of intervals
Transaction Time (Temporal Model)

Often used to support versioning which
allows user-supplied identifiers to be
attached to versions.
 Versioning support generally implies OO.

Conclusion to temporal data models: a coordinated suite of
data models can best achieve temporal goals
Real-time Data Models

Relational model is used for real-time DBs
 OO model may benefit real-time DBs:
– rich data semantics, complex objects,
encapsulation, methods, messages

However, the added complexity affects realtimeliness
Temporal Query Languages

User-defined time supported by most DBs
 3 approaches to supporting Valid-time:
– Use relational or OO model directly
– Include general extensions to data model and
query languages (only used on OO query languages)
– add new constructs and temporal operators
Temporal Query Languages

Transaction-time is used for rollbacks and
versioning (extension and schema)
 Extension versioning (tuples, object instances or
attributes are versioned)
– Use model directly, general extensions, or
modify data model and language

Schema versioning (object definition versioned)
– Multiple schemas in effect
Real-Time Data and
Transaction Properties



Hard transaction: missing a deadline is disastrous
Soft transaction: missing a deadline will not kill you
Factors that affect real-time transactions:
– Transaction arrival pattern: periodic, sporadic
– Data access type: random, round-robin
– Knowing whether an item will be accessed beforehand
– Knowing the CPU and I/O usage beforehand
Real-Time Properties (cont.)

It is not possible to have both external
consistency AND integrity constraint sat.
 External consistency may:
– Lead to triggers (more coolant)
– Require aborts (abort objects from furnace)

Internal consistency may need resolution
through new transactions.
 Cooperate, not compete
Conventional vs. Real-Time

Conventional DBs:
– Fair in data and resource allocation
– Use response time and throughput as measures

Real-Time DBs:
–
–
–
–
Timely transaction execution
Fairness is secondary
Use % of non-missed deadlines as a measure
Transactions prioritized on deadlines
Real-Time Consistency

Absolute data consistency
 Relative data consistency
– A set of data items that are relatively consistent
to each other
Real-Time Query Languages

none
Architectural Issues




Temporal query optimization is more involved than
conventional query opt.
Predicates are harder to optimize
– Joins with more inequalities are frequent
Time advances in one direction
– Natural clustering on sort order
Methods to optimize query:
– Replace algebraic expression with a more efficient, equivalent one
– Change access method of an operator
– Change implementation of an operator
Architectural Issues (cont.)

Temporal joins: proposed extensions to
nested loop and merge joins
 Temporal indices are important because of
the size of temporal data but no work has
been done to empirically compare them
Architectural Issues (cont.)

Transaction processing
– Adapt existing concurrency control and
transaction management to support transaction
time
– Timestamp at the end of transaction

Processing transaction with hard deadlines
– Arrival patterns, items to be accessed, CPU, I/O
access times must all be known
Architectural Issues (cont.)

Processing transaction with soft deadlines
– Priority assignment policies:
 Earliest-deadline-first, least-slack-time-first, etc…

Concurrency control protocols
– Lock-based protocols
– Timestamp-ordering protocols (timestamp start)
– Optimistic concurrency control protocols
(timestamp end)
Architectural Issues (cont.)

Lock-based protocols
– Transaction blocks or aborts depending on transactions
priority

Priority inheritance approach
– Lower-priority transaction inherits a higher priority in
order to block

Priority abort approach
– Higher-priority request can cause lower-priority
transaction to abort
Architectural Issues (cont.)

Timestamp-ordering protocols
– Timestamps transaction start
– Early conflict resolution
– Suffers from priority inversion

Optimistic concurrency control protocols
– Timestamps transaction end
– Nonblocking and deadlock-free
– Aborts and restart wastes resources
Architectural Issues (cont.)

Stored data manager structures
– Reverse chaining, accession lists, clustering,
stacking, cellular chaining

Buffering for real-time scheduling
– Priority-LRU, priority-DBMIN

Scheduling disk I/O for real-time processing
– FD-SCAN decides scanning direction by
location I/O request with earliest deadline
Conclusion

Temporal relational database (25 years)
 Temporal OO database (15 years)
 Real-time databases (since 1986)
 Accomplishments
– No data model is good enough, need suite of models
– Real-time and temporal people are interacting and
starting to use the same language

Needs
– Real-time models that capture semantic knowledge
– Too many temporal data models, not many real-time
models and no real-time query language
– Performance is still a challenge