ParTime: Parallel Temporal Aggregation

This paper presents ParTime, a parallel algorithm for temporal aggregation. Temporal aggregation is one of the most important, yet most complex temporal query operators. It has been extensively studied in the past, but so far there has only been one attempt to parallelize this operator. ParTime supports data parallelism and has a number of additional advantages: It supports the full bitemporal data model, it requires no a-priori indexing, it supports shared computation, and it runs well on modern hardware (i.e., NUMA machines with large main memories). We implemented ParTime in a parallel database system and carried out comprehensive performance experiments with a real workload from the airline industry and a synthetic benchmark, the TPC-BiH benchmark. The results show that ParTime significantly outperforms any other available temporal database system. Furthermore, the results show that ParTime is competitive as compared to the Timeline Index, the best known technique to process temporal queries from the research literature and which is based on pre-computation and indexing.

[1]  Norman May,et al.  TPC-BiH: A Benchmark for Bitemporal Databases , 2013, TPCTC.

[2]  Leslie Lamport,et al.  Using Time Instead of Timeout for Fault-Tolerant Distributed Systems. , 1984, TOPL.

[3]  Ramez Elmasri,et al.  M-IVTT: An Index for Bitemporal Databases , 1996, DEXA.

[4]  Richard T. Snodgrass,et al.  Computing temporal aggregates , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[5]  Marcin Zukowski,et al.  Cooperative Scans: Dynamic Bandwidth Sharing in a DBMS , 2007, VLDB.

[6]  Norman May,et al.  Bi-temporal Timeline Index: A data structure for Processing Queries on bi-temporal data , 2015, 2015 IEEE 31st International Conference on Data Engineering.

[7]  Richard T. Snodgrass,et al.  Parallel algorithms for computing temporal aggregates , 1999, Proceedings 15th International Conference on Data Engineering (Cat. No.99CB36337).

[8]  Richard T. Snodgrass,et al.  Main Memory-Based Algorithms for Efficient Parallel Aggregation for Temporal Databases , 2004, Distributed and Parallel Databases.

[9]  Gustavo Alonso,et al.  Predictable Performance for Unpredictable Workloads , 2009, Proc. VLDB Endow..

[10]  Peter H. Golde,et al.  C# Language Specification , 2003 .

[11]  Goetz Graefe,et al.  Sort versus Hash Revisited , 1994, IEEE Trans. Knowl. Data Eng..

[12]  Gustavo Alonso,et al.  SharedDB: Killing One Thousand Queries With One Stone , 2012, Proc. VLDB Endow..

[13]  Dimitrios Gunopulos,et al.  On computing temporal aggregates with range predicates , 2008, TODS.

[14]  Ramez Elmasri,et al.  TSQL2 language specification , 1994, SGMD.

[15]  Martin L. Kersten,et al.  Database Architecture Optimized for the New Bottleneck: Memory Access , 1999, VLDB.

[16]  Martin L. Kersten,et al.  Optimizing database architecture for the new bottleneck: memory access , 2000, The VLDB Journal.

[17]  Frederick Reiss,et al.  Main-memory scan sharing for multi-core CPUs , 2008, Proc. VLDB Endow..

[18]  Mohammed Al-Kateb,et al.  Temporal query processing in Teradata , 2013, EDBT '13.

[19]  George Candea,et al.  A Scalable, Predictable Join Operator for Highly Concurrent Data Warehouses , 2009, Proc. VLDB Endow..

[20]  Hamid Pirahesh,et al.  Extensible query processing in starburst , 1989, SIGMOD '89.

[21]  Christian S. Jensen,et al.  Temporal statement modifiers , 2000, TODS.

[22]  Norman May,et al.  Timeline index: a unified data structure for processing queries on temporal data in SAP HANA , 2013, SIGMOD '13.

[23]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[24]  Christian S. Jensen,et al.  Multi-dimensional Aggregation for Temporal Data , 2006, EDBT.

[25]  Vassilis J. Tsotras,et al.  Comparison of access methods for time-evolving data , 1999, CSUR.

[26]  David B. Lomet,et al.  Access methods for multiversion data , 1989, SIGMOD '89.

[27]  Bernhard Seeger,et al.  An asymptotically optimal multiversion B-tree , 1996, The VLDB Journal.