Aggregation in temporal databases

Temporal database systems extend relational database systems to support time-varying information. One important such extension is support for time-varying aggregate functions, such as a time-varying average. Our research will show that temporal aggregates may be specified in a semantically well defi...

Full description

Bibliographic Details
Main Author: Kline, Rodger Nickels
Other Authors: Snodgrass, Richard T.
Language:en_US
Published: The University of Arizona. 1999
Subjects:
Online Access:http://hdl.handle.net/10150/288950
id ndltd-arizona.edu-oai-arizona.openrepository.com-10150-288950
record_format oai_dc
spelling ndltd-arizona.edu-oai-arizona.openrepository.com-10150-2889502015-10-23T05:11:39Z Aggregation in temporal databases Kline, Rodger Nickels Snodgrass, Richard T. Computer Science. Temporal database systems extend relational database systems to support time-varying information. One important such extension is support for time-varying aggregate functions, such as a time-varying average. Our research will show that temporal aggregates may be specified in a semantically well defined manner yet be efficiently implemented as simple extensions to relational databases. We introduce a taxonomy of temporal aggregation, based on a study of all major temporal query languages containing aggregates. The taxonomy categorizes the expressiveness and functionality of temporal aggregation. Based on this taxonomy, we introduce extensions to TSQL2 for temporal aggregation. The proposed language constructs allow one to express the variety of features identified in the taxonomy. We briefly discuss the semantics for the temporal aggregate language extension. We introduce an operator for evaluating temporal aggregates in a temporal relational algebra; the operator was designed to implement the tuple semantics. We show that theoretically, the most efficient evaluation of a temporal aggregate over a relation with n unique timestamps requires Θ(n log n) time, with O(n log n) space in any decision tree algorithm. We provide an example algorithm meeting these requirements, utilizing a 2-3 tree. Based on the requirements for evaluation of the algebraic operator, we introduce a series of main memory algorithms for evaluating temporal aggregates, including the aggregation tree, k-ordered aggregation tree, the chalkboard algorithm, the linked-list algorithm, and show how to perform aggregation using a 2-3 tree. The algorithms exhibit different applicability depending on aspects of the input relation, including sort order, percentage of long-lived tuples, and number of tuples. We also provide an algorithm which executes using only a user-limited amount of memory, the paging aggregation tree. We characterize the effectiveness of these algorithms based on an empirical study of their performance. 1999 text Dissertation-Reproduction (electronic) http://hdl.handle.net/10150/288950 9927439 .b39558848 en_US Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author. The University of Arizona.
collection NDLTD
language en_US
sources NDLTD
topic Computer Science.
spellingShingle Computer Science.
Kline, Rodger Nickels
Aggregation in temporal databases
description Temporal database systems extend relational database systems to support time-varying information. One important such extension is support for time-varying aggregate functions, such as a time-varying average. Our research will show that temporal aggregates may be specified in a semantically well defined manner yet be efficiently implemented as simple extensions to relational databases. We introduce a taxonomy of temporal aggregation, based on a study of all major temporal query languages containing aggregates. The taxonomy categorizes the expressiveness and functionality of temporal aggregation. Based on this taxonomy, we introduce extensions to TSQL2 for temporal aggregation. The proposed language constructs allow one to express the variety of features identified in the taxonomy. We briefly discuss the semantics for the temporal aggregate language extension. We introduce an operator for evaluating temporal aggregates in a temporal relational algebra; the operator was designed to implement the tuple semantics. We show that theoretically, the most efficient evaluation of a temporal aggregate over a relation with n unique timestamps requires Θ(n log n) time, with O(n log n) space in any decision tree algorithm. We provide an example algorithm meeting these requirements, utilizing a 2-3 tree. Based on the requirements for evaluation of the algebraic operator, we introduce a series of main memory algorithms for evaluating temporal aggregates, including the aggregation tree, k-ordered aggregation tree, the chalkboard algorithm, the linked-list algorithm, and show how to perform aggregation using a 2-3 tree. The algorithms exhibit different applicability depending on aspects of the input relation, including sort order, percentage of long-lived tuples, and number of tuples. We also provide an algorithm which executes using only a user-limited amount of memory, the paging aggregation tree. We characterize the effectiveness of these algorithms based on an empirical study of their performance.
author2 Snodgrass, Richard T.
author_facet Snodgrass, Richard T.
Kline, Rodger Nickels
author Kline, Rodger Nickels
author_sort Kline, Rodger Nickels
title Aggregation in temporal databases
title_short Aggregation in temporal databases
title_full Aggregation in temporal databases
title_fullStr Aggregation in temporal databases
title_full_unstemmed Aggregation in temporal databases
title_sort aggregation in temporal databases
publisher The University of Arizona.
publishDate 1999
url http://hdl.handle.net/10150/288950
work_keys_str_mv AT klinerodgernickels aggregationintemporaldatabases
_version_ 1718103934736793600