TinyDB also stores metadata information about the costs of processing
and delivering data, which is used in query-lifetime estimation. The costs of
these phases in TinyDB, which are shown in Figure 17, range from 2mA while
sleeping, to over 20mA while transmitting and processing.
Fig. 17. Costs of Di?®erent Phases of Query Processing [6] [14].
Ordering of Sampling And Predicates
Sampling is often an expensive operation in terms of power. However, a
sample from a sensor s must be taken to evaluate any predicate over the attribute
sensors.s. If a predicate discards a tuple in the sensors table, then
subsequent predicates need not examine the tuple ??” and hence the corresponding
cost of sampling can be avoided. Thus these predicates are ???expensive??™,
and need to be ordered carefully. The predicate ordering problem here is
somewhat di?®erent than in the earlier literature because (a) an attribute may
be referenced in multiple predicates, and (b) expensive predicates are only on
a single table, sensors.
319
Jinbao Li, Zhipeng Cai, and Jianzhong Li
To model this issue, we treat the sampling of a sensor t as a separate
???job??™ ?? to be scheduled along with the predicates. Hence a set of predicates
P = {p1, p2...pm} is rewritten as a set of operations S = {s1, ..., sn}, where
P ?? S, and S ??’ P = {??1, ??2, ..., ??n??’m} contains one sampling operator for
each distinct attribute referenced in P. The selectivity of sampling operators
is always 1.
Pages:
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513