Advertisement

Making Transaction Execution the Bottleneck

(Instead of All the Overheads)
  • Harumi Kuno
  • Goetz Graefe
  • Hideaki Kimura
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7813)

Abstract

Traditional database systems rely upon a proven set of tools to guarantee ACID properties without compromising performance: a buffer manager to mediate the transfer of data between fast in-memory processing and slow disk-based persistent storage, latching and locking to coordinate concurrent access to data, and logging to enable the recovery, verification, and repair of committed data. These tools are built on code bases that are 10-30 years old and designed for hardware assumptions nearly the same age. Modern hardware technologies such as fast persistent memories and multicore break those assumptions, turning the traditional proven tools into the new bottlenecks. Our goal is to rethink the traditional tools so that they will not be bottlenecks. Here, we review some of the concurrency-related bottlenecks that face the modern transactional storage management system and survey state of the art techniques that allow these traditional tools to provide intended functionality without becoming bottlenecks.

Keywords

Foster Parent Foster Child Concurrent Thread Lock Mode Node Deletion 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bayer, R., Schkolnick, M.: Concurrency of operations on B-trees. Acta Inf. 9, 1–21 (1977)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    DeWitt, D., Katz, R., Olken, F., Shapiro, L., Stonebraker, M., Wood, D.: Implementation techniques for main memory database systems. SIGMOD, 1–8 (1984)Google Scholar
  3. 3.
    Graefe, G.: Write-optimized B-trees. In: VLDB, pp. 672–683 (2004)Google Scholar
  4. 4.
    Graefe, G.: Hierarchical locking in B-tree indexes. In: BTW, pp. 18–42 (2007)Google Scholar
  5. 5.
    Graefe, G.: A survey of B-tree locking techniques. ACM Trans. Database Syst. 35(3) (2010)Google Scholar
  6. 6.
    Graefe, G.: Modern B-tree techniques. Foundations and Trends in Databases (2011)Google Scholar
  7. 7.
    Graefe, G.: A survey of b-tree logging and recovery techniques. ACM TODS 37(1), 1:1–1:35 (2012)CrossRefGoogle Scholar
  8. 8.
    Graefe, G., Kimura, H., Kuno, H.: Foster b-trees. ACM Transactions on Database Systems, TODS (2012)Google Scholar
  9. 9.
    Graefe, G., Stonecipher, R.: Efficient verification of B-tree integrity. In: BTW, pp. 27–46 (2009)Google Scholar
  10. 10.
    Harizopoulos, S., Abadi, D.J., Madden, S.R., Stonebraker, M.: OLTP through the looking glass, and what we found there. In: SIGMOD, Vancouver, Canada (2008)Google Scholar
  11. 11.
    Helland, P., Sammer, H., Lyon, J., Carr, R., Garrett, P., Reuter, A.: Group commit timers and high volume transaction systems. High Performance Transaction Systems, 301–329 (1989)Google Scholar
  12. 12.
    Jaluta, I., Sippu, S., Soisalon-Soininen, E.: Concurrency control and recovery for balanced B-link trees. VLDB J. 14, 257–277 (2005)CrossRefGoogle Scholar
  13. 13.
    Johnson, R., Pandis, I., Ailamaki, A.: Improving OLTP scalability using speculative lock inheritance. PVLDB, 479–489 (2009)Google Scholar
  14. 14.
    Johnson, R., Pandis, I., Hardavellas, N., Ailamaki, A., Falsafi, B.: Shore-MT: a scalable storage manager for the multicore era. In: EDBT, pp. 24–35 (2009)Google Scholar
  15. 15.
    Johnson, R., Pandis, I., Stoica, R., Athanassoulis, M., Ailamaki, A.: Aether: A scalable approach to logging. PVLDB 3(1), 681–692 (2010)Google Scholar
  16. 16.
    Johnson, R., Pandis, I., Stoica, R., Athanassoulis, M., Ailamaki, A.: Scalability of write-ahead logging on multicore and multisocket hardware. VLDB J., 239–263 (2012)Google Scholar
  17. 17.
    Kimura, H., Graefe, G., Kuno, H.: Efficient locking techniques for databases on modern hardware. In: Third International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (2012)Google Scholar
  18. 18.
    Lanin, V., Shasha, D.: A symmetric concurrent B-tree algorithm. In: Proceedings of 1986 ACM Fall Joint Computer Conference, ACM 1986, pp. 380–389. IEEE Computer Society Press, Los Alamitos (1986)Google Scholar
  19. 19.
    Lehman, P.L., Yao, S.B.: Efficient locking for concurrent operations on B-trees. ACM Trans. Database Syst. 6, 650–670 (1981)zbMATHCrossRefGoogle Scholar
  20. 20.
    Lomet, D.B.: Key range locking strategies for improved concurrency. In: VLDB, pp. 655–664 (1993)Google Scholar
  21. 21.
    Lomet, D.B.: Simple, robust and highly concurrent b-trees with node deletion. In: ICDE, pp. 18–27 (2004)Google Scholar
  22. 22.
    Lomet, D.B., Salzberg, B.: Concurrency and recovery for index trees. VLDB J. 6(3), 224–240 (1997)CrossRefGoogle Scholar
  23. 23.
    Mohan, C.: ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on b-tree indexes. In: VLDB, pp. 392–405 (1990)Google Scholar
  24. 24.
    Mohan, C.: Commit_lsn: A novel and simple method for reducing locking and latching in transaction processing systems. In: McLeod, D., Sacks-Davis, R., Schek, H.-J. (eds.) VLDB, pp. 406–418. Morgan Kaufmann (1990)Google Scholar
  25. 25.
    Mohan, C.: Disk read-write optimizations and data integrity in transaction systems using write-ahead logging. In: ICDE, pp. 324–331 (1995)Google Scholar
  26. 26.
    Mohan, C., Haderle, D.J., Lindsay, B.G., Pirahesh, H., Schwarz, P.M.: ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17(1), 94–162 (1992)CrossRefGoogle Scholar
  27. 27.
    Mohan, C., Levine, F.E.: ARIES/IM: An efficient and high concurrency index management method using write-ahead logging. In: SIGMOD, pp. 371–380 (1992)Google Scholar
  28. 28.
    Mohan, C., Lindsay, B., Obermarck, R.: Transaction management in the R* distributed database management system. ACM TODS 11(4), 378–396 (1986)CrossRefGoogle Scholar
  29. 29.
    Oracle asynchronous commit. Oracle database advanced application developer’s guideGoogle Scholar
  30. 30.
    Rafii, A., DuBois, D.: Performance tradeoffs of group commit logging. In: CMG Conference (1989)Google Scholar
  31. 31.
    Sagiv, Y.: Concurrent operations on b-trees with overtaking. In: ACM PODS, PODS 1985, pp. 28–37. ACM, New York (1985)Google Scholar
  32. 32.
    Sewall, J., Chhugani, J., Kim, C., Satish, N., Dubey, P.: PALM: Parallel architecture-friendly latch-free modifications to B+ trees on many-core processors. PVLDB 4(11) (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Harumi Kuno
    • 1
  • Goetz Graefe
    • 1
  • Hideaki Kimura
    • 2
  1. 1.HP LabsPalo AltoUSA
  2. 2.Microsoft Jim Gray Systems LabMadisonUSA

Personalised recommendations