Show simple item record

dc.contributor.advisorSnodgrass, Richard T.en_US
dc.contributor.authorKline, Rodger Nickels
dc.creatorKline, Rodger Nickelsen_US
dc.date.accessioned2013-05-09T09:20:01Z
dc.date.available2013-05-09T09:20:01Z
dc.date.issued1999en_US
dc.identifier.urihttp://hdl.handle.net/10150/288950
dc.description.abstractTemporal 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.
dc.language.isoen_USen_US
dc.publisherThe University of Arizona.en_US
dc.rightsCopyright © 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.en_US
dc.subjectComputer Science.en_US
dc.titleAggregation in temporal databasesen_US
dc.typetexten_US
dc.typeDissertation-Reproduction (electronic)en_US
thesis.degree.grantorUniversity of Arizonaen_US
thesis.degree.leveldoctoralen_US
dc.identifier.proquest9927439en_US
thesis.degree.disciplineGraduate Collegeen_US
thesis.degree.disciplineComputer Scienceen_US
thesis.degree.namePh.D.en_US
dc.description.noteThis item was digitized from a paper original and/or a microfilm copy. If you need higher-resolution images for any content in this item, please contact us at repository@u.library.arizona.edu.
dc.identifier.bibrecord.b39558848en_US
dc.description.admin-noteOriginal file replaced with corrected file May 2023.
refterms.dateFOA2018-09-06T06:27:12Z
html.description.abstractTemporal 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.


Files in this item

Thumbnail
Name:
azu_td_9927439_sip1_c.pdf
Size:
21.07Mb
Format:
PDF

This item appears in the following Collection(s)

Show simple item record