Improving predictability of transaction execution times in real-time databases
01 November 2000
We present a design for multi-version concurrency control and recovery in a main memory database, and describe logical and physical versioning schemes that allow read-only transactions to execute without obtaining data item locks or system latches. Our schemes enable a system to provide the guarantee that updaters will never interfere with read-only transactions, and read-only transactions will not be delayed due to data contention. Consequently, transaction executions become more predictable-this partially alleviates a major problem in real-time database system (RTDBS) scheduling, namely, significant unpredictability in transaction execution times. As a result, in addition to a transaction's deadline, a more accurate estimate of its execution time can also be taken into account, thus facilitating better scheduling decisions. Our contributions include several space saving techniques for the main-memory implementation, including improved methods for logical aging of data items and the introduction of physical aging for low-level structures. Some of these schemes have been implemented on a widely-used software platform within Lucent, and the full scheme is implemented in the Dali main-memory storage manager.