The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - Jan. (2013 vol.25)
pp: 145-157
Tuukka Haapasalo , Aalto University, Aalto
Ibrahim Jaluta , Aalto University, Aalto
Seppo Sippu , University of Helsinki, Helsinki
Eljas Soisalon-Soininen , Aalto University, Aalto
ABSTRACT
We consider the recoverability of traditional R-tree index structures under concurrent updating transactions, an important issue that is neglected or treated inadequately in many proposals of R-tree concurrency control. We present two solutions to ARIES-based recovery of transactions on R-trees. These assume a standard fine-grained single-version update model with physiological write-ahead logging and steal-and-no-force buffering where records with uncommitted updates by a transaction may migrate from their original page to another page due to structure modifications caused by other transactions. Both solutions guarantee that an R-tree will remain in a consistent and balanced state in the presence of any number of concurrent forward-rolling and (totally or partially) backward-rolling multiaction transactions and in the event of process failures and system crashes. One solution maintains the R-tree in a strictly consistent state in which the bounding rectangles of pages are as tight as possible, while in the other solution this requirement is relaxed. In both solutions only a small constant number of simultaneous exclusive latches (write latches) are needed, and in the solution that only maintains relaxed consistency also the number of simultaneous nonexclusive latches is similarly limited. In both solutions, deletions are handled uniformly with insertions, and a logarithmic insertion-path length is maintained under all circumstances.
INDEX TERMS
Indexes, Latches, Silicon, Vegetation, Spatial databases, Protocols, structure modification, Multidimensional index structure, spatial index, R-tree, transaction rollback, partial rollback, restart recovery, ARIES, concurrency control
CITATION
Tuukka Haapasalo, Ibrahim Jaluta, Seppo Sippu, Eljas Soisalon-Soininen, "On the Recovery of R-Trees", IEEE Transactions on Knowledge & Data Engineering, vol.25, no. 1, pp. 145-157, Jan. 2013, doi:10.1109/TKDE.2011.182
REFERENCES
[1] N. Beckmann, H.P. Kriegel, R. Schneider, and B. Seeger, "The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 322-331, 1990.
[2] N. Beckmann and B. Seeger, "A Revised R*-Tree in Comparison with Related Index Structures," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 799-812, 2009.
[3] H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O'Neil, and P. O'Neil, "A Critique of ANSI SQL Isolation Levels," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 1-10, 1995.
[4] K. Chakrabarti and S. Mehrotra, "Dynamic Granular Locking Approach to Phantom Protection in R-Trees," Proc. 14th IEEE Int'l Conf. Data Eng., pp. 446-454, 1998.
[5] K. Chakrabarti and S. Mehrotra, "Efficient Concurrency Control in Multidimensional Access Methods," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 25-36, 1999.
[6] J.K. Chen, Y.F. Huang, and Y.H. Chin, "A Study of Concurrent Operations on R-Trees," J. Information Sciences, vol. 98, nos. 1-4, pp. 263-300, 1997.
[7] A. Guttman, "R-Trees: A Dynamic Index Structure for Spatial Searching," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 47-57, 1984.
[8] J. Hellerstein, J. Naughton, and A. Pfeffer, "Generalized Search Trees for Database Systems," Proc. 21st Int'l Conf. Very Large Data Bases, pp. 562-573, 1995.
[9] I. Jaluta, "B-tree Concurrency Control and Recovery in a Client-Server Database Management System," PhD Dissertation, Dept. of Computer Science and Eng., Helsinki Univ. of Technology, http://lib.hut.fi/Diss/2002isbn9512257068 /, 2002.
[10] I. Jaluta, S. Sippu, and E. Soisalon-Soininen, "Recoverable B+-Trees in Centralized Database Management Systems," Int'l J. Applied Science and Computations, vol. 10, pp. 160-181, 2003.
[11] I. Jaluta, S. Sippu, and E. Soisalon-Soininen, "Concurrency Control and Recovery for Balanced B-link Trees," The VLDB J., vol. 14, pp. 257-277, 2005.
[12] I. Jaluta and D. Majumda, "Efficient Space Management for B-Tree Structure-Modification Operations," Proc. Second Int'l Conf. Information and Comm. Technologies: From Theory to Applications (ICTTA '06), pp. 2909-2912, 2006.
[13] I. Jaluta, S. Sippu, and E. Soisalon-Soininen, "B-Tree Concurrency Control and Recovery in Page-Server Database Systems," ACM Trans. Database Systems, vol. 31, pp. 82-132, 2006.
[14] M. Kornacker and D. Banks, "High-Concurrency Locking in R-Trees," Proc. 21st Int'l Conf. Very Large Data Bases, pp. 134-145, 1995.
[15] M. Kornacker, C. Mohan, and J. Hellerstein, "Concurrency and Recovery in Generalized Search Trees," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 62-72, 1997.
[16] M. Kornacker, "High-Performance Extensible Indexing," Proc. 25th Int'l Conf. Very Large Data Bases, pp. 699-708, 1999.
[17] M. Kornacker, "Access Methods for Next-Generation Database Systems," PhD dissertation, Univ. of California, 2000.
[18] D. Lomet and B. Salzberg, "Access Method Concurrency with Recovery," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 351-360, 1992.
[19] D. Lomet and B. Salzberg, "Concurrency and Recovery for Index Trees," The VLDB J., vol. 6, pp. 224-240, 1997.
[20] C. Mohan, "ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multi-Action Transactions Operating on B-Tree Indexes," Proc. 16th Int'l Conf. Very Large Data Bases, pp. 392-405, 1990.
[21] C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz, "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging," ACM Trans. Database Systems, vol. 17, pp. 94-162, 1992.
[22] C. Mohan and F. Levine, "ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 371-380, 1992.
[23] C. Mohan, "Concurrency Control and Recovery Methods for B+-Tree Indexes: ARIES/KVL and ARIES/IM," Performance of Concurrency Control Mechanisms in Centralized Database Systems, V. Kumar ed., pp. 248-306, Prentice Hall, 1996.
[24] V. Ng and T. Kamada, "Concurrent Access to R-Trees," Proc. Third Int'l Symp. Advances in Spatial Databases (SSD '93), pp. 142-161, 1993.
[25] V. Ng and T. Kamada, "The R-Link Tree: A Recoverable Index Structure for Spatial Data," Proc. Fifth Int'l Conf. Database and Expert Systems Applications (DEXA '94), pp. 163-172, 1994.
[26] K.V.Ravi Kanth, D. Serena, and A.K. Singh, "Improved Concurrency Control Techniques for Multi-Dimensional Index Structures," Proc. 12th Int'l Parallel Processing Symp./Ninth Symp. Parallel and Distributed Processing (IPPS/SPDP '98), pp. 580-586, 1998.
[27] K.V. Ravi Kanth, S. Ravada, J. Sharma, and J. Banerjee, "Indexing Medium-Dimensionality Data in Oracle," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 521-522, 1999.
[28] S. Sippu and E. Soisalon-Soininen, "A Theory of Transactions on Recoverable Search Trees," Proc. Eighth Int'l Conf. Database Theory, pp. 83-98, 2001.
[29] S.I. Song, Y.H. Kim, and J.S. Yoo, "An Enhanced Concurrency Control Scheme for Multidimensional Index Structures," IEEE Trans. Knowledge and Data Eng., vol. 16, no. 1, pp. 97-111, Jan. 2004.
[30] C. Zou and B. Salzberg, "Online Reorganization of Sparsely-Populated B+-Trees," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 115-124, 1996.
20 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool