Temporal Alignment
Anton Dign¨
- s1
Michael H. B¨
- hlen1
Johann Gamper2
1University of Z¨
urich, Switzerland
2Free University of Bozen-Bolzano, Italy
Temporal Alignment os 1 ohlen 1 Johann Gamper 2 Anton Dign Michael - - PowerPoint PPT Presentation
Temporal Alignment os 1 ohlen 1 Johann Gamper 2 Anton Dign Michael H. B 1 University of Z urich, Switzerland 2 Free University of Bozen-Bolzano, Italy SIGMOD 2012 May 24, 2012 - Scottsdale, Arizona, USA Outline Goal and Problem
1University of Z¨
2Free University of Bozen-Bolzano, Italy
SIGMOD 2012 2/33
SIGMOD 2012 3/33
SIGMOD 2012 3/33
SIGMOD 2012 3/33
◮ A temporal query is defined by its corresponding nontemporal query. ◮ DϑT
AVG . . . ⇒ DϑAVG . . .
◮ Despite timestamp adjustment original timestamps are accessible. ◮ DϑT
AVG(DUR(T))(R)
◮ Timestamps can not be split and/or merged arbitrarily. ◮ {(DB, 800k, [Feb, Jul))} =
SIGMOD 2012 4/33
◮ A temporal query is defined by its corresponding nontemporal query. ◮ DϑT
AVG . . . ⇒ DϑAVG . . .
◮ Despite timestamp adjustment original timestamps are accessible. ◮ DϑT
AVG(DUR(T))(R)
◮ Timestamps can not be split and/or merged arbitrarily. ◮ {(DB, 800k, [Feb, Jul))} =
SIGMOD 2012 4/33
◮ A temporal query is defined by its corresponding nontemporal query. ◮ DϑT
AVG . . . ⇒ DϑAVG . . .
◮ Despite timestamp adjustment original timestamps are accessible. ◮ DϑT
AVG(DUR(T))(R)
◮ Timestamps can not be split and/or merged arbitrarily. ◮ {(DB, 800k, [Feb, Jul))} =
SIGMOD 2012 4/33
SIGMOD 2012 5/33
SIGMOD 2012 5/33
◮ Temporal Splitter N ◮ Temporal Aligner φ
SIGMOD 2012 6/33
◮ One input tuple contributes to at most one result tuple per time
◮ One input tuple contributes to more than one result tuple per time
SIGMOD 2012 7/33
R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) N D U T Joe DB [Feb, Jul) [Feb, Jul) Ann DB [Feb, Sep) [Feb, Jul) N D U T Ann DB [Feb, Sep) [Jul, Sep) N D U T Sam AI [May, Oct) [May, Oct) AVG D T 6 DB [Feb, Jul) AVG D T 7 DB [Jul, Sep) AVG D T 5 AI [May, Oct) AVG D T 6 DB [Feb, Jul) 7 DB [Jul, Sep) 5 AI [May, Oct) adjustment (disjoint) nontemporal aggregation
SIGMOD 2012 8/33
R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) N D U T Joe DB [Feb, Jul) [Feb, Jul) Ann DB [Feb, Sep) [Feb, Jul) N D U T Ann DB [Feb, Sep) [Jul, Sep) N D U T Sam AI [May, Oct) [May, Oct) AVG D T 6 DB [Feb, Jul) AVG D T 7 DB [Jul, Sep) AVG D T 5 AI [May, Oct) AVG D T 6 DB [Feb, Jul) 7 DB [Jul, Sep) 5 AI [May, Oct) adjustment (disjoint) nontemporal aggregation
SIGMOD 2012 8/33
M M D T m1 Tom DB [Feb, Dec) R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) M D U T Tom DB [Feb, Dec) [Feb, Jul) M D U T Tom DB [Feb, Dec) [Feb, Sep) M D U T Tom DB [Feb, Dec) [Sep, Dec) N D V T Joe DB [Feb, Jul) [Feb, Jul) N D V T Ann DB [Feb, Sep) [Feb, Sep) N D V T M D N T Tom DB Joe [Feb, Jul) M D N T Tom DB Ann [Feb, Sep) M D N T Tom DB ω [Sep, Dec) M D N T Tom DB Joe [Feb, Jul) Tom DB Ann [Feb, Sep) Tom DB ω [Sep, Dec) adjustment (overlapping) nontemporal left outer join
SIGMOD 2012 9/33
M M D T m1 Tom DB [Feb, Dec) R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) M D U T Tom DB [Feb, Dec) [Feb, Jul) M D U T Tom DB [Feb, Dec) [Feb, Sep) M D U T Tom DB [Feb, Dec) [Sep, Dec) N D V T Joe DB [Feb, Jul) [Feb, Jul) N D V T Ann DB [Feb, Sep) [Feb, Sep) N D V T M D N T Tom DB Joe [Feb, Jul) M D N T Tom DB Ann [Feb, Sep) M D N T Tom DB ω [Sep, Dec) M D N T Tom DB Joe [Feb, Jul) Tom DB Ann [Feb, Sep) Tom DB ω [Sep, Dec) adjustment (overlapping) nontemporal left outer join
SIGMOD 2012 9/33
◮ A temporal query must be reducible to a nontemporal
◮ Original Timestamps have to be accessible
◮ The boundaries of timestamps have to be preserved
SIGMOD 2012 10/33
◮ τt . . . timeslice at t ◮ DT . . . temporal database
R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) τFeb(R) N D Joe DB Ann DB
DϑCount(∗)(τFeb(R))
Count D 2 DB
τJul(R) N D Ann DB Sam AI
DϑCount(∗)(τJul(R))
Count D 1 DB 1 AI
Count D T 2 DB [Feb, Jul) 1 DB [Jul, Sep) 1 AI [May, Oct) SIGMOD 2012 11/33
◮ τt . . . timeslice at t ◮ DT . . . temporal database ◮ ǫ . . . propagate original timestamp R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) τFeb(ǫU(R)) U N D [Feb, Jul) Joe DB [Feb, Sep) Ann DB
DϑAVG(DUR(U))(τFeb(ǫU (R)))
AVG D 6 DB
τJul(ǫU(R)) U N D [Feb, Sep) Ann DB [May, Oct) Sam AI
DϑAVG(DUR(U))(τJul(ǫU (R)))
AVG D 7 DB 5 AI
AVG D T 6 DB [Feb, Jul) 7 DB [Jul, Sep) 5 AI [May, Oct) SIGMOD 2012 12/33
R N D T r1 Joe DB [Feb, Jul) r2 Ann DB [Feb, Sep) r3 Sam AI [May, Oct) AVG D T 6 DB [Feb, Jul) 7 DB [Jul, Sep) 5 AI [May, Oct)
SIGMOD 2012 13/33
◮ L[DϑT
AVG(DUR(T))(R)](z1, Feb) = {r1, r2}
◮ L[DϑT
AVG(DUR(T))(R)](z1, Mar) = {r1, r2}
◮ L[DϑT
AVG(DUR(T))(R)](z1, Apr) = {r1, r2}
◮ L[DϑT
AVG(DUR(T))(R)](z1, May) = {r1, r2}
◮ L[DϑT
AVG(DUR(T))(R)](z1, Jun) = {r1, r2}
◮ L[DϑT
AVG(DUR(T))(R)](z2, Jul) = {r2}
◮ L[DϑT
AVG(DUR(T))(R)](z2, Aug) = {r2}
SIGMOD 2012 14/33
P B P D T p1 10k P1 DB [Feb, Jul) p2 21k P2 DB [Feb, Sep) p3 15k P3 AI [May, Oct) P B P D T 10k P1 DB [Feb, Jul) 15k P2 DB [Feb, Jul) 6k P2 DB [Jul, Sep) 15k P3 AI [May, Oct) SIGMOD 2012 15/33
SIGMOD 2012 16/33
SIGMOD 2012 17/33
SIGMOD 2012 17/33
SIGMOD 2012 17/33
SIGMOD 2012 17/33
1Image: Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. McGraw-Hill 2003 SIGMOD 2012 18/33
SIGMOD 2012 19/33
SIGMOD 2012 20/33
◮ Real world dataset Incumben University of Arizona ◮ Synthetic datasets
SIGMOD 2012 21/33
SIGMOD 2012 22/33
1 10 100 1000 10000 1 2 3 4 5 6 7 8 9 10 Runtime [sec] Input tuples [k] Align SQL
0.1 1 10 100 1000 10000 20 40 60 80 100 Runtime [sec] Input tuples [k] SQL Align
◮ Every tuple stops NOT EXISTS.
◮ All tuples need to be analyzed to stop NOT EXISTS. SIGMOD 2012 23/33
SIGMOD 2012 24/33
◮ DϑAVG(DUR(T))(R) ◮ R❞⑤❃❁⑤Min≤DUR(R.T)≤MaxP
SIGMOD 2012 25/33
◮ DϑT
Count(∗)(R)
◮ R×TR
SIGMOD 2012 26/33
◮ DϑT
AVG(DUR(T))(R)
◮ R❞⑤❃❁⑤T
Min≤DUR(R.T)≤MaxP
SIGMOD 2012 27/33
SIGMOD 2012 28/33
SIGMOD 2012 28/33