Database Reference
In-Depth Information
Multi-model approximation
80
70
raw data
segment 1
segment 2
segment 3
segment 4
60
ModelTable
50
40
id
function
30
1
Swing
20
2
PolynomialRegression(3)
1208340000
1208360000
1208380000
1208400000
1208420000
System time (seconds)
3
MidRange
materialization
SegmentTable
id
start_time
end_time
left_value
right_value
model_params
3
1208362379
1208367429
29.706
31.2355
3
1208367549
1208372116
24.954
26.9715
1
1208375723
1208392716
34.547
43.49363
2
ɴ
1
, ɴ
2
, ɴ
3
1208396323
1208412797
56.496
78.81476
…
…
…
…
…
…
Figure 2.11.
The database schema for multi-model materialization.
ModelTable
it is
id
. When, both, linear and non-linear models are
employed for approximation,
left value
is the lowest raw sensor value
encountered in the segment, and
right value
is the highest raw sensor
value encountered in the segment. In this case,
start time
,
end time
,
left value
and
right value
define a rectangular bucket that contains
the values of the segment.
The attribute
model params
stores the parameters of the model asso-
ciated with the model identifier
id
. For example, regression coecients
are stored for the regression model. The attribute
model params
has
variable length (e.g.,
VARCHAR
or
VARBINARY
data types in SQL) and it
stores the concatenation of the parameters or their compressed repre-
sentation, by means of standard lossless compression techniques (refer
Section 5.7) or by a bitmap coding of approximate values, as proposed
in [3]. Each tuple in the ModelTable corresponds to a model with a
particular
id
and
function
. The attribute
function
represents the
name of the model and it maps to the names of two user defined func-
tions (UDFs) stored in the database. The first function implements the
mathematical formula of the model, and the second function implements
the inverse mathematical formula of the model, if any. Both the UDFs
are employed for answering value-based queries. While the first function
is used for value regeneration over fixed time steps (also referred to as
gridding
), the second function is used for solving equations.