CH 3 (TemporalDB)
CH 3 (TemporalDB)
Outline
Spatial Databases
Indexing, Query processing
Temporal Databases
Spatio-temporal
….
Temporal DBs – Motivation
Conventional databases represent the state of an enterprise at a single
moment of time
Many applications need information about the past
Financial (payroll)
Government
Conventional DBs:
Evolve through transactions from one state to the next
Temporal DBs:
Maintain historical information
effective in reality
Bi-temporal databases:
Support both notions of time
Example
“Rollback” characteristics
Transaction Time DBs
1 2 4 8 10 15 16 17 25 28 30 33 41 42 45 47 48 51 53
u
b
f
c
d
g
id p
j
k
i
m
e
Queries:
Timestamp (timeslice) queries: ex. “Give me
all employees at 05/94”
Range-timeslice: “Find all employees with id
between 100 and 200 that worked in the
company on 05/94”
Interval (period) queries: “Find all employees
with id in [100,200] from 05/14 to 06/16”
Valid Time DBs
Deletion is physical:
No way to know about the previous states of
intervals
The notion of “future”, “present” and
“past” is relative to a certain timestamp t
Valid Time DBs
Iy Iy
Iz
Iw Iw
Ix Ix
v v v v v
Iy Iy Iz Iy Iz Iy Iy
Iw Iw Iw
Ix Ix Ix Ix Ix
Bitemporal DBs
Straight-forward approaches:
B+-tree and R-tree
Problems?
Transaction time:
Snapshot Index, TSB-tree, MVB-tree, MVAS
Valid time:
Interval structures: Segment tree, even R-tree
Bitemporal:
Bitemporal R-tree
Temporal Indexing
Pure-timeslice
Range-timeslice
Pure-exact match
Snapshot Index
SP
1
15
29
46
60
64
70
Access Forest
1 15 29 46 51 60 64 70 80
SP
1
15
29
46
60
64
70
SP 29 70
1 46
60 64
15
Additional structures