Real-time database systems have transactions that should be executed with real-time constraints in the form of deadlines. The primary objective of real-time transaction management is to maximize the number of transactions that meet their deadlines. A priority cognizant algorithm is the most general conflict resolution mechanism in synchronizing real-time transactions. To resolve conflicting transactions, real-time concurrency control algorithms should not only consider data consistency, but also priority, which implies deadline, of individual transaction.
In this thesis, we propose a multiversion concurrency control algorithm for real-time transaction processing. Based on a priority cognitive algorithm commonly used in real-time processing, the algorithm resolves data conflicts among conflicting transactions in favor of the urgent transactions, i.e., those with higher priority. The proposed algorithm increases the degree of transaction concurrency while minimizing the transactions that miss their deadlines. This is achieved by using the notions of precedence relationships and multiple versions. By using multiple versions, a transaction can produce a new version on even the data object being read by another transaction, i.e., resulting in increased transaction concurrency.
In the algorithm, a precedence relationship that implies a serialization order among conflicting transactions is utilized to reduce unnecessary abortions and provide early abortions of eventually discarded transactions. Although our algorithm gives superior service to transactions with higher priority, it may attempt to resolve data conflicts in favor of a transaction with lower priority by considering the amount of the work done by the transaction.
We extend the multiversion concurrency control algorithm for real-time active databases. Transactions in real-time active databases have the notion of activeness where transactions are generated by external effect and another transactions. Active transactions are mainly characterized by triggering relationships, which mean relations between a transaction that issued another transaction and the generated transactions. In this thesis we suggest two types of data conflicts according to whether triggering relationships are related to the same triggering group or different triggering groups. The proposed algorithm resolves data conflicts by considering these triggering relationships between conflicting transactions as well as priorities and precedence relationships of them. Finally, we evaluate the performance of the proposed algorithm for real-time databases, comparing other real-time concurrency control algorithms. The experimental results show that the proposed algorithm performs better than compared algorithms all over the range of system load.