TACID: Timely ACID Transactions in DBMS

From Navigators

Jump to: navigation, search


A database is a collection of data describing the activities of one or more related organizations. The software designed to assist in maintaining and using databases is called database management system, or DBMS.

A DBMS allows users to define the data to be stored in terms of a data model, which is a collection of high-level metadata that hide many low-level storage details. In practice, a typical database application is a client-server system where a number of users are connected to a database server via a terminal or a desktop computer. The user actions are translated into SQL commands by the client application and sent to the database server. The results are sent back to the client to be displayed in the adequate format by the client application.

A very important notion in DBMS is the concept of transaction, which is a set of commands that perform a given action and takes the database from a consistent state to another consistent state. Transaction management is an important functionality of DBMS and it is directly related to system dependability, particularly in what concerns to concurrency control and data recovery.

In order to correctly deal with concurrency control and recovery, DBMS transactions must fulfill a set of properties known as ACID properties (atomicity, consistency, isolation, and durability). The ascendance of networked information in our economy and daily lives has increased awareness of the importance of on time data management. This way, database applications for critical application areas (e.g., telecom, air traffic control, stock market, factories control, etc.) are increasingly giving more importance to the timely execution of transactions.

DBMS have a long tradition in high dependability, particularly in what concerns to data integrity and availability aspects. However, and in spite of the importance of time properties in some applications domains, there are no mechanisms implemented in typical commercial DBMS able to provide timing guarantees in the execution of transactions or at least to detect any type of timing failures.

In many situations timeliness is as important as correctness, which means that (approximate) correctness can be traded for timeliness. Similarly, atomicity issues may be relaxed. For instance, in a database application designed to manage information about a critical activity (e.g., a nuclear reactor), a transaction that reads and store the current reading of a sensor must be executed in a short time (i.e., the longer it takes to execute the transaction the less useful the reading becomes).

In other words, in many database applications, when a transaction is submitted and it does not complete before a specified deadline that transaction becomes irrelevant and this situations must be reported to the application/business layer in order to be handled in an adequate way. The goal of this project is to bring timeliness properties to the typical ACID transactions, putting together classic database transactions and recent achievements in the field of real time and distributed transactions.


The main goal of the project is to investigate ways to add timeliness properties to the typical ACID transactions.

Three transaction classes are considered:

  1. With no temporal requirements: i.e., ACID transactions
  2. With restrict temporal requirements: for this class the database users will be able to specify a time frame in which the transaction has to be concluded to succeed. In this class, the system must provide timing failure detection, including in distributed transaction environments.
  3. With probabilistic temporal requirements: in this class the transactions are always executed independently of time frame specified by the user.

However, a probability for the execution of a given transaction on that time frame will be provided. Other important objectives of the project are:

  • proof of the concepts defined in the project by implementing an experimental prototype;
  • provide ways for the users to evaluate the degree of confidence in the temporal behavior of the DBMS;
  • provide an interface to database programmers to develop applications that support TACID transactions.


  • Marco Vieira, António Casimiro, Henrique Madeira, “Towards Timely ACID Transactions in DBMS”, in The 12th International Conference on Database Systems for Advanced Applications (DASFAA 2007), Bangkok, Thailand, April 2007, Apr. 2007.

  • Marco Vieira, António Casimiro, Henrique Madeira, “TACID Transactions”, in Proceedings of the International Conference on Dependable Systems and Networks, 1st Workshop on Hot Topics in System Dependability (HotDep-05), Yokohama, Japan, June 2005, Jun. 2005.

  • Marco Vieira, António Casimiro, Henrique Madeira, “Timely ACID Transactions in DBMS”, in Fast Abstract at the 2004 International Conference on Dependable Systems and Networks, Florence, Italy, June 2004, Jun. 2004.


Navigators - TACID project
Personal tools
Navigators toolbox