Building a Temproal Cartridge for Oracle8i
Authors
Gundersen, Bo ; Thrysøe, Kim
Term
4. term
Education
Publication year
2000
Abstract
Mange softwareapplikationer skal håndtere tidsvarierende data (temporal data), altså oplysninger der ændrer sig over tid. I dag sker det ofte ad hoc ved at placere al tidslogik i applikationslaget, fordi de mest udbredte objekt-relationelle databasesystemer (ORDBMS) ikke tilbyder indbygget understøttelse af temporal data, som forskningen anbefaler. Dette projekt forsøger at bringe resultater fra forskningen om temporale databaser ind i eksisterende ORDBMS-teknologi. Vi undersøger to spørgsmål: 1) Om håndtering af temporale data kan gøres lettere ved at udvide nuværende ORDBMS med brugerdefinerede abstrakte datatyper (ADTs) og procedurer. 2) Om en sådan udvidelse kan muliggøre effektiv eksekvering af kendte temporale forespørgsler (forespørgsler, der spørger til data over tid). Vi anvender en praktisk tilgang og udvikler en prototype: en Oracle-cartridge, dvs. en databaseudvidelse, der tilføjer temporal funktionalitet. Rapporten er opdelt i tre dele: reduktion af kodekompleksitet, implementeringsdetaljer samt performance-målinger og evaluering. Resultaterne viser, at sådanne udvidelser kan reducere kodekompleksiteten betydeligt. Men modenheden af databasers udvidelsesfunktioner hindrer effektiv eksekvering af temporale forespørgsler, hvilket begrænser nytten af en temporal cartridge.
Many software applications need to track how information changes over time (temporal data). Today, this is often handled in an ad hoc way by keeping all time-related logic in the application layer, because mainstream object-relational database management systems (ORDBMSs) do not provide the built-in temporal support advocated by research. This project aims to bring research on temporal databases into existing ORDBMS technology. We examine two questions: (1) whether managing temporal data can be simplified by extending current ORDBMSs with custom abstract data types (ADTs) and procedures, and (2) whether such extensions can execute known temporal queries (queries that ask about data over time) efficiently. We take a practical approach and build a prototype: an Oracle cartridge, i.e., a database extension that adds temporal functionality. The report is organized in three parts: reducing code complexity, implementation specifics, and performance measurements and evaluations. Our findings show that custom extensions can substantially reduce code complexity. However, the maturity of current database extensibility features prevents efficient execution of temporal queries, limiting the usefulness of a temporal cartridge.
[This abstract was generated with the help of AI]
Documents
