This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Concurrency Control in B-Trees with Batch Updates
December 1996 (vol. 8 no. 6)
pp. 975-984

Abstract—In many applications it is important to be able to insert (or delete) keys into a B-tree as a batch, instead of inserting them one by one. Moreover, it may be necessary to search the B-tree concurrently with the batch update. An example of this is a text database system supporting a newspaper house: All words (keys) of each article obtained from a news agency should be inserted at once, and, at the same time, searches for documents containing certain words should be allowed as efficiently as possible. We have designed two solutions to the problem of concurrent batch update. The first solution—implemented in our commercial text database system—optimizes the speed of the batch update, and the second solution optimizes the average search time during the batch update.

[1] R. Bayer and E. McCreight, "Organization and Maintenance of Large Ordered Indexes," Acta Informatica, vol. 1, pp. 173-189, 1972.
[2] A.F. Cardenas, "Analysis and Performance of Inverted Data Base Structures," Comm. ACM, vol. 18, no. 5, pp. 253-263, May 1975.
[3] M. Carey and C. Thompson, "An Efficient Implementation of Search Trees on$\lceil lg\ N + 1\rceil$Processors," IEEE Trans. Computers, vol. 33, no. 11, pp. 1,038-1,041, Nov. 1984.
[4] D. Comer, “The Ubiquitous B-Tree,” ACM Computing Surveys, vol. 11, no. 2, pp. 121-137, June 1979.
[5] D. Cutting and J. Pedersen, "Optimizations for Dynamic Inverted Index Maintenance," Proc. ACM SIGIR 1990, Int'l Conf. Information Retrieval, pp. 405-411, 1990.
[6] C.S. Ellis, "Concurrent Search and Insertion in AVL Trees," IEEE Trans. Computers, vol. 29, no. 9, pp. 811-817, Sept. 1980.
[7] C.S. Ellis, "Concurrent Search and Insertion in 2-3 Trees," Acta Informatica, vol. 14, pp. 63-86, 1980.
[8] C. Faloutsos and S. Christodoulakis, "Design of a Signature File Method that Accounts for Non-Uniform Occurrence and Query Frequencies," Proc. 11th Int'l Conf. Very Large Data Bases, pp. 165-170, 1985.
[9] C. Faloutsos and S. Christodoulakis, "Signature Files: An Access Method for Documents and Its Analytical Performance Evaluation," ACM Trans. Office Information Systems, vol. 2, pp. 267-288, Oct. 1984.
[10] C. Faloutsos and H.V. Jagadish, "Hybrid Index Organizations for Text Databases," Advances in Database Technology—EDBT '92, Third Int'l Conf. Extending Database Technology, pp. 310-327, Lecture Notes in Computer Science 580, Springer-Verlag, 1992.
[11] J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kauffman, 1993.
[12] L.J. Guibas and R. Sedgewick, "A Dichromatic Framework for Balanced Trees," Proc. 19th IEEE Symp. Foundations of Computer Science, pp. 8-21, 1978.
[13] S.D. Lang, J.R. Driscoll, and J.H. Jou, "Batch Insertion for Tree Structured File Organizations—Improving Differential Database Representation," Information Systems, vol. 11, no. 2, pp. 167-175, 1986.
[14] V. Lanin and D. Shasha, "A Symmetric Concurrent B-Tree Algorithm," Proc. Fall Joint Computer Conf., pp. 380-389, 1986.
[15] P. Lehman and S. Yao, "Efficient Locking for Concurrent Operations on B-Trees," ACM Trans. Database Systems, vol. 6, no. 4, pp. 650-670, 1981.
[16] C. Mohan, "ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operation on B-Tree Indexes," Proc. 16th Int'l Conf. Very Large Data Bases, pp. 392-405, 1990.
[17] C. Mohan and F. Levine, "ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging," Proc. ACM SIGMOD '92, Int'l Conf. Management of Data, pp. 371-380, 1992.
[18] C. Mohan and I. Narang, "Algorithms for Creating Indexes for Very Large Tables without Quiescing Updates," Proc. ACM SIGMOD '92, Int'l Conf. Management of Data, pp. 361-370, 1992.
[19] Y. Mond and Y. Raz, "Concurrency Control in B+-Trees Databases Using Preparatory Operations," Proc. 11th Int'l Conf. Very Large Data Bases, pp. 331-334, 1985.
[20] O. Nurmi, E. Soisalon-Soininen, and D. Wood, "Concurrency Control in Database Structures with Relaxed Balance," Proc. Sixth ACM Symp. Principles of Database Systems, pp. 170-176, 1987.
[21] Y. Sagiv, "Concurrent Operations on B*-Trees with Overtaking," J. Computer and System Sciences, vol. 33, no. 2, pp. 275-296, 1986.
[22] D. Shasha and N. Goodman,“Concurrent search structure algorithms,” ACM Trans. Database Systems, vol. 13, no. 1, pp. 53-90, 1988.
[23] V. Srinivasan and M.J. Carey, "On-Line Index Construction Algorithms," Proc. High Performance Transaction Systems Workshop,Pacific Grove, Calif., Sept. 1991.
[24] V. Srinivasan and M.J. Carey, "Performance of On-Line Index Construction Algorithms," Advances in Database Technology—EDBT '92, Third Int'l Conf. Extending Database Technology, pp. 293-309, Lecture Notes in Computer Science 580, Springer-Verlag, 1992.
[25] J. Srivastava and C.V. Ramamoorthy, "Efficient Algorithms for Maintenance of Large Database Indexes," Proc. Fourth Int'l Conf. Data Eng., pp. 402-409, 1988.
[26] T. Ylönen, "An Algorithm for Full-Text Indexing," Helsinki Univ. of Technology, Laboratory of Information Processing Science, Technical Report no. TKO-B75, 1992.

Index Terms:
Batch update, B+-tree, concurrency control, indexing, information retrieval, text search.
Citation:
Kerttu Pollari-Malmi, Eljas Soisalon-Soininen, Tatu Ylönen, "Concurrency Control in B-Trees with Batch Updates," IEEE Transactions on Knowledge and Data Engineering, vol. 8, no. 6, pp. 975-984, Dec. 1996, doi:10.1109/69.553166
Usage of this product signifies your acceptance of the Terms of Use.