Partially Preemptive Hash Joins

With the advent of real-time and goal-oriented database systems, priority scheduling is likely to be an important feature in future database management systems. A consequence of priority scheduling is that a transaction may lose its buffers to higher-priority transactions, and may be given additional memory when higher-priority transactions leave the system. Due to their heavy reliance on main memory, hash joins are especially vulnerable to fluctuations in memory availability. Previous studies have proposed modifications to the hash join algorithm to cope with these fluctuations, but the proposed algorithms have not been extensively evaluated or compared with each other. This paper contains a performance study of these algorithms. In addition, we introduce a family of memory-adaptive hash join algorithms that turns out to offer even better solutions to the memory fluctuation problem that hash joins experience. hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh This work was partially supported by a scholarship from the Institute of Systems Science, National University of Singapore, and by an IBM Research Initiation Grant. An abridged version of this paper appears in the proceedings of the ACM SIGMOD Conference, May 1993.

[1]  Robert G. Sargent,et al.  Statistical analysis of simulation output data , 1976, SIML.

[2]  M. W. Blasgen,et al.  Storage and Access in Relational Data Bases , 1977, IBM Syst. J..

[3]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[4]  James Z. Teng,et al.  Managing IBM Database 2 Buffers to Maximize Performance , 1984, IBM Syst. J..

[5]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[6]  Leonard D. Shapiro,et al.  Join processing in database systems with large main memories , 1986, TODS.

[7]  Miron Livny,et al.  Multi-disk management algorithms , 1987, SIGMETRICS '87.

[8]  Dina Bitton,et al.  Disk Shadowing , 1988, VLDB.

[9]  Masaya Nakayama,et al.  Hash-Partitioned Join Method Using Dynamic Destaging Strategy , 1988, VLDB.

[10]  Donald F. Towsley,et al.  Experimental evaluation of real-time transaction processing , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[11]  Masaya Nakayama,et al.  The Effect of Bucket Size Tuning in the Dynamic Hybrid GRACE Hash Join Method , 1989, VLDB.

[12]  Hansjörg Zeller,et al.  An Adaptive Hash Join Algorithm for Multiuser Environments , 1990, VLDB.

[13]  Abraham Silberschatz,et al.  Triggered Real-Time Databases with Consistency Constraints , 1990, VLDB.

[14]  Donovan A. Schneider,et al.  The Gamma Database Machine Project , 1990, IEEE Trans. Knowl. Data Eng..

[15]  Miron Livny,et al.  On being optimistic about real-time constraints , 1990, PODS '90.

[16]  Jaideep Srivastava,et al.  Enhancing real-time DBMS performance with multiversion data and priority based disk scheduling , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[17]  Miron Livny,et al.  Managing Memory to Meet Multiclass Workload Response Time Goals , 1993, VLDB.

[18]  Miron Livny,et al.  Partially preemptible hash joins , 1993, SIGMOD Conference.

[19]  K. Davies,et al.  Satisfying response time goals in transaction processing , 1993, [1993] Proceedings of the Second International Conference on Parallel and Distributed Information Systems.