Transaction processing in data intensive applications
Student thesis: Master's Thesis
Related Research Unit(s)
Recently, there is an increasing number of applications that require support for real-time processing of rapidly arriving data streams. The high volume and fast arrival rate make it infeasible to install every data item of a stream into the database. In this study, we assume transactions running over data stream are executed periodically to produce new results, known as temporal data, to be installed into the database. Such transactions are regarded as continuous transactions. They resemble continuous queries in data stream management systems (DSMS), plus reading non-temporal data, for creating and writing temporal data into the database. Continuous transactions are continuous, standing and persistent with pre-declared data access pattern. Conventional real-time concurrency control protocols are not designed for systems with both continuous transactions and user transactions without prior knowledge of data access pattern. On the one hand, we need to ensure that user transactions can read fresh data and commit before their deadlines. On the other hand, we need to issue sufficient privilege for continuous transactions to keep temporal data fresh without violating database consistency and significantly affecting the performance of user transactions. Delayed Restart, Pre-declaration and two new time-cognizant forced wait protocols are proposed to handle the interplay between these two types of transactions with different characteristics. These protocols are evaluated through a series of simulation experiments. We have demonstrated that taking advantage of continuous transaction and temporal data semantics in transaction scheduling can significantly improve the performance of user transactions without jeopardizing the freshness of temporal data maintained by continuous transactions.
- Transaction systems (Computer systems)