Summary
The Trie Hashing (TH), defined by Litwin, is one of the fastest access methods for dynamic and ordered files. The hashing function is defined in terms of a trie, which is basically a binary tree where a character string is associated implicitly with each node. This string is compared with a prefix of the given key in the search process, and depending on the result either the left or the right child is chosen as the next node to visit. The leaf nodes point to buckets which contain the records. The buckets are on a disk, whereas the trie itself is in the core memory. In this paper we consider concurrent execution of the TH operations. In addition to the usual search, insertion and deletion operations, we also include range queries among the concurrent operations. Our algorithm locks only leaf nodes and at most two nodes need to be locked simultaneously by any operation regardless of the number of buckets being accessed. The modification required in the basic data structure in order to accommodate concurrent operations is very minor.
Similar content being viewed by others
References
Ellis, C.S.: Concurrency in Linear Hashing. ACM TODS 12, 195–217 (1987)
Ford, R., Calhoun, J.: Concurrency Control Mechanisms and the Serializability of Concurrent Tree Algorithms. Proc. ACM PODS'84, pp. 51–60
Goodman, N., Shasha, D.: Semantically-based Concurrency Control for Search Structures. Proc. ACM PODS'85, pp. 8–19
Knuth, D.E.: The Art of Computer Programming. Vol. 3: Sorting and Searching. Reading, Mass.: Addison-Wesley 1974
Kung, H.T., Lehman, P.L.: Concurrent Manipulation of Binary Search Trees. ACM TODS 5, 354–382 (1980)
Lehman, P.L., Yao, S.B.: Efficient Locking for Concurrent Opertions on B-Trees. ACM TODS 6, 650–670 (1981)
Litwin, W.: Trie Hashing. Proc. ACM SIGMOD'81, pp. 19–29
Litwin, W.: Trie Hashing: Further Properties and Performance. Foundations of Data Organization. New York: Plenum Press 1986
Litwin, W., Zegour, D., Levy, G.: Multilevel Trie Hashing. Proc. Extending Database Technology Conference, Venice, 1988
Sagiv, Y.: Concurrent Operations on B-Trees with Overtaking. J. Comput. Syst. Sci. 33, 275–296 (1986)
Silberschatz, A., Kadem, Z.: Consistency in Hierarchical Database Systems. J. ACM 27, 72–80 (1980)
Ullman, J.D.: Principles of Database Systems. Rockville, Md: Computer Science Press 1982
Author information
Authors and Affiliations
Additional information
The work of this author was supported in part by grant 2545-2-87 from the Israeli National Council for Research and Development
This research was done while visiting I.N.R.I.A., and is supported in part by the Natural Sciences and Engineering Research Council of Canada, Individual Operating Grant A-3182
Rights and permissions
About this article
Cite this article
Litwin, W., Sagiv, Y. & Vidyasankar, K. Concurrency and Trie Hashing. Acta Informatica 26, 597–614 (1989). https://doi.org/10.1007/BF00288973
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00288973