IEEE Access (Jan 2024)

Treating Temporal Function References in Relational Database Management System

  • Michal Kvet,
  • Jozef Papan,
  • Martina Hrinova Durnekova

DOI
https://doi.org/10.1109/ACCESS.2024.3387046
Journal volume & issue
Vol. 12
pp. 54518 – 54535

Abstract

Read online

Databases form an inseparable part of the information systems. They hold the data formed by the data models. Data are operated by the database management system, which takes an interlayer between the data and the external environment. They can be purely obtained from the database using the Select statement or can act as the inputs for the function calls. Data can be temporally or positionally oriented, allowing the storage of multiple tuple states for one object. Temporal databases can be defined by various precision frames and granularities, from object level through synchronization groups up to the est attribute granularity. Inspired by temporal databases, we provide new solutions for managing functions, and code can also evolve over time. Namely, individual parameters, properties, and method calculations may change over time. It is not only about internal computation and performance optimization but also about ways of processing and calculation. Thus, the function is not deterministic across the time axis. Existing solutions are primarily based on versioning considering the function name, which, however, takes significant risk related to the reference correctness as it depends on the function name. Precisely, there is no checking of the validity referencing specific function versions. The proposed solution aims to prepare an automated, robust transformation and mapping solution that emphasizes individual versions of the functions and calls relevant functions based on the referenced time frames. Thanks to the provided reliable transformation layer, multiple function versions can exist, respecting the valid version of the function that existed at the time of validity of the relevant tuple. The function is always called by the original name, and a particular version is automatically processed based on the input data and referred time frame. In the performance evaluation process, we focus on three stages– pre-processing phase (parsing, checking, and loading), version identification, and loading. Multiple solutions were created and discussed. The best results were provided by model 4 based on the transformation module in the temporal layer, for which the total cost of processing within the Select command, compared to the reference solution, was reduced by 68.40%. The most significant saving was detected in parsing and checking since the function versions are directly available for the reference calls (72.96%). Version identification is done by the optimized searching B+tree index tree, reducing the costs by up to 69.42%. The proposed solution is based on managing multi-versioning by propagating new clauses, commands, and background processes, managing the whole system autonomously. Furthermore, performance optimizations can later enhance individual versions, like more sophisticated data structures. Thus, each version can have multiple implementations. The additional demands on data storage and structure management are less than 1% globally.

Keywords