Managing Memory for Real-Time Queries
In real-time and goal-oriented database systems, the amount of memory assigned to queries that sort or join large relations may fluctuate due to contention from other higher priority transactions. This study focuses on techniques that enable external sorts both to reduce their buffer usage when they lose memory, and to effectively utilize any additional buffers that are given to them. We also show how these techniques can be extended to work with sort-merge joins. A series of experiments confirms that our proposed techniques are useful for sorting and joining large relations in the face of memory fluctuations.