Skip to main content
Log in

Concurrency and Trie Hashing

  • Published:
Acta Informatica Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ellis, C.S.: Concurrency in Linear Hashing. ACM TODS 12, 195–217 (1987)

    Google Scholar 

  2. Ford, R., Calhoun, J.: Concurrency Control Mechanisms and the Serializability of Concurrent Tree Algorithms. Proc. ACM PODS'84, pp. 51–60

  3. Goodman, N., Shasha, D.: Semantically-based Concurrency Control for Search Structures. Proc. ACM PODS'85, pp. 8–19

  4. Knuth, D.E.: The Art of Computer Programming. Vol. 3: Sorting and Searching. Reading, Mass.: Addison-Wesley 1974

    Google Scholar 

  5. Kung, H.T., Lehman, P.L.: Concurrent Manipulation of Binary Search Trees. ACM TODS 5, 354–382 (1980)

    Google Scholar 

  6. Lehman, P.L., Yao, S.B.: Efficient Locking for Concurrent Opertions on B-Trees. ACM TODS 6, 650–670 (1981)

    Google Scholar 

  7. Litwin, W.: Trie Hashing. Proc. ACM SIGMOD'81, pp. 19–29

  8. Litwin, W.: Trie Hashing: Further Properties and Performance. Foundations of Data Organization. New York: Plenum Press 1986

    Google Scholar 

  9. Litwin, W., Zegour, D., Levy, G.: Multilevel Trie Hashing. Proc. Extending Database Technology Conference, Venice, 1988

  10. Sagiv, Y.: Concurrent Operations on B-Trees with Overtaking. J. Comput. Syst. Sci. 33, 275–296 (1986)

    Google Scholar 

  11. Silberschatz, A., Kadem, Z.: Consistency in Hierarchical Database Systems. J. ACM 27, 72–80 (1980)

    Google Scholar 

  12. Ullman, J.D.: Principles of Database Systems. Rockville, Md: Computer Science Press 1982

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

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

Reprints 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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00288973

Keywords

Navigation