Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A survey of B-tree logging and recovery techniques

Published: 06 March 2012 Publication History

Abstract

B-trees have been ubiquitous in database management systems for several decades, and they serve in many other storage systems as well. Their basic structure and their basic operations are well understood including search, insertion, and deletion. However, implementation of transactional guarantees such as all-or-nothing failure atomicity and durability in spite of media and system failures seems to be difficult. High-performance techniques such as pseudo-deleted records, allocation-only logging, and transaction processing during crash recovery are widely used in commercial B-tree implementations but not widely understood. This survey collects many of these techniques as a reference for students, researchers, system architects, and software developers. Central in this discussion are physical data independence, separation of logical database contents and physical representation, and the concepts of user transactions and system transactions. Many of the techniques discussed are applicable beyond B-trees.

References

[1]
Bayer, B. and McCreight, E. M. 1972. Organization and maintenance of large ordered indices. Acta Inf. 1, 173--189.
[2]
Bayer, R. and Unterauer, K. 1977. Prefix B-trees. ACM Trans. Databa. Syst. 2, 1, 11--26.
[3]
Bender, M. A., Farach-Colton, M., and Mosteiro, M. A. 2006. Insertion sort is O(n log n). Theory Comput. Syst. 39, 3, 391--397.
[4]
Bender, M. A. and Hu, H. 2007. An adaptive packed-memory array. ACM Trans. Datab. Syst. 32, 4.
[5]
Bernstein, P. A., Hadzilacos, V., and Goodman, N. 1987. Concurrency Control and Recovery in Database Systems. Addison-Wesley.
[6]
Cabrera, L.-F., Rees, R., and Hineman, W. 1995. Applying database technology in the ADSM mass storage system. In Proceedings of the International Conference on Very Large Database. 597--605.
[7]
Do, L., Drew, P., Jin, W., Jumani, V., and Van Rossum, D. 1998. Issues in developing very large data warehouses. In Proceedings of the International Conference on Very Large Database. 633--636.
[8]
Graefe, G. 2003. Sorting and indexing with partitioned B-trees. In Proceedings of the CIDR Conference.
[9]
Graefe, G. 2004. Write-optimized B-trees. In Proceedings of the International Conference on Very Large Databases. 672--683.
[10]
Graefe, G. 2006. B-tree indexes, interpolation search, and skew. DaMoN: 5.
[11]
Graefe, G. 2009. The five-minute rule 20 years later and how flash memory changes the rules. Comm. ACM 52, 7, 48--59.
[12]
Graefe, G. 2010. A survey of B-tree locking techniques. ACM Trans. Datab. Syst. 35, 3.
[13]
Graefe, G. and Larson, P.-A. 2001. B-Tree indexes and CPU caches. In Proceedings of the International Conference on Data Engineering. 349--358.
[14]
Gray, J. 1978. Notes on data base operating systems. In R. Bayer, R. M. Graham, G. Seegmüller Eds., Operating System—An Advanced Course. Lecture Notes in Computer Science, vol. 60. Springer-Verlag.
[15]
Gray, J., McJones, P. R., Blasgen, M. W., Lindsay, B. G., Lorie, R. A., Price, T. G., Putzolu, G. R., and Traiger, I. L. 1981. The recovery manager of the System R database manager. ACM Comput. Surv. 13, 2, 223--243.
[16]
Gray, J. and Reuter, A. 1992. Transaction Processing: Concepts and Techniques. Morgan Kaufmann.
[17]
Härder, T. and Reuter, A. 1983. Principles of transaction-oriented database recovery. ACM Comput. Surv. 15, 4, 287--317.
[18]
Helland, P., Sammer, H., Lyon, J., Carr, R., and Garrett, P., Reuter, A. 1987. Group commit timers and high volume transaction systems. In Proceedings of the HPTS Conference. 301--329.
[19]
Kumar, V. and Hsu, M. 1998. Recovery Mechanisms in Database Systems. Prentice Hall.
[20]
Lehman. P. L. and Yao, S. B. 1981. Efficient locking for concurrent operations on B-trees. ACM Trans. Datab. Syst. 6, 4, 650--670.
[21]
Leslie, H., Jain, R., Birdsall, D., and Yaghmai, H. 1995. Efficient search of multi-dimensional B-trees. In Proceedings of the International Conference on Very Large Databases. 710--719.
[22]
Lomet, D. B. 1998. Advanced recovery techniques in practice. In Recovery Mechanisms in Database Systems, Kumar and Hsu, 697--710.
[23]
Lomet, D. B. 2001. The evolution of effective B-tree page organization and techniques: A personal account. SIGMOD Rec. 30, 3, 64--69.
[24]
Lomet, D. B. and Salzberg, B. 1992. Access method concurrency with recovery. In Proceedings of the ACM SIGMOD Conference on Database Management. 351--360.
[25]
Lomet, D. B. and Salzberg, B. 1997. Concurrency and recovery for index trees. VLDB J. 6, 3, 224--240.
[26]
Lomet, D. B. and Tuttle, M. R. 1995. Redo recovery after system crashes. In Proceedings of the International Conference on Very Large Databases. 457--468.
[27]
Lomet, D. B. and Tuttle, M. R. 2003. A theory of redo recovery. In Proceedings of the ACM SIGMOD Conference on Database Management. 397--406.
[28]
Mohan, C. 1990. ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions operating on B-tree indexes. In Proceedings of the International Conference on Very Large Databases. 392--405.
[29]
Mohan, C. 1999. Repeating history beyond ARIES. In Proceedings of the International Conference on Very Large Databases. 1--17.
[30]
Mohan, C., Haderle, D. J., Lindsay, B. G., Pirahesh, H., and Schwarz P. M. 1992. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. Trans. Datab. Syst. 17, 1, 94--162.
[31]
Mohan, C. and Pirahesh, H. 1991. ARIES-RRH: Restricted repeating of history in the ARIES transaction recovery method. In Proceedings of the International Conference on Data Engineering. 718--727.
[32]
Moss, J. E. B. 1992. Working with persistent objects: To swizzle or not to swizzle. Trans. Softw. Engin. 18, 8, 657--673.
[33]
Moss, J. E. B. 2006. Open nested transactions: Semantics and support. In Workshop on Memory Performance Issues (WMPI).
[34]
O'Neil, P., Cheng, E., Gawlick, D., and O'Neil, E. 1996. The log-structured merge-tree (LSM-tree). Acta Inf. 33, 4, 351--385.
[35]
Obermarck, R. 1998. Logging and recovery in commercial systems. In Recovery Mechanisms in Database Systems, Kumar and Hsu, 711--720.
[36]
Sears, R., Callaghan, M., and Brewer, E. A. 2008. Rose: Compressed, log-structured replication. Proc. VLDB 1, 1, 526--537.
[37]
Sun, X., Wang, R., Salzberg, B., and Zou, C. 2005. Online B-tree merging. In Proceedings of the ACM SIGMOD Conference on Management of Data. 335--346.
[38]
Tucker, P. A., Maier, D., Sheard, T., and Stephens, P. 2007. Using punctuation schemes to char-acterize strategies for querying over data streams. IEEE Trans. Knowl. Data Engin. 19, 9, 1227--1240.
[39]
Weikum, G. 1991. Principles and realization strategies of multilevel transaction management. ACM Trans. Datab. Syst. 16, 1, 132--180.
[40]
Weikum, G. and Schek, H.-J. 1992. Concepts and applications of multilevel transactions and open nested transactions. In A. K. Elmagarmid. Ed., Database Transaction Models for Advanced Applications, Morgan-Kaufmann, 515--553.
[41]
Weikum, G. and Vossen, G. 2002. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann.
[42]
Zou, C. and Salzberg, B. 1996. On-Line reorganization of sparsely populated B+-trees. In Proceedings of the ACM SIGMOD Conference on Management of Data. 115--124.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Database Systems
ACM Transactions on Database Systems  Volume 37, Issue 1
February 2012
268 pages
ISSN:0362-5915
EISSN:1557-4644
DOI:10.1145/2109196
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 March 2012
Accepted: 01 June 2011
Received: 01 April 2011
Published in TODS Volume 37, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)7
Reflects downloads up to 15 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)The Art of Latency Hiding in Modern Database EnginesProceedings of the VLDB Endowment10.14778/3632093.363211717:3(577-590)Online publication date: 1-Nov-2023
  • (2022)Index checkpoints for instant recovery in in-memory database systemsProceedings of the VLDB Endowment10.14778/3529337.352935015:8(1671-1683)Online publication date: 1-Apr-2022
  • (2022)Combining an explainable model based on ontologies with an explanation interface to classify imagesProcedia Computer Science10.1016/j.procs.2022.09.298207:C(2395-2403)Online publication date: 1-Jan-2022
  • (2022)Instant restore after a media failure (extended version)Information Systems10.1016/j.is.2018.11.00182:C(90-101)Online publication date: 19-Apr-2022
  • (2022)Orthogonal Key-Value ValidationOn Transactional Concurrency Control10.1007/978-3-031-01873-2_7(213-249)Online publication date: 26-Feb-2022
  • (2021)ArkDBProceedings of the 2021 International Conference on Management of Data10.1145/3448016.3457553(2570-2583)Online publication date: 9-Jun-2021
  • (2021)Porting disk-based spatial index structures to flash-based solid state drivesGeoInformatica10.1007/s10707-021-00455-wOnline publication date: 13-Dec-2021
  • (2020)Rollback Mechanisms for Cloud Management APIs Using AI PlanningIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2017.272954317:1(148-161)Online publication date: 1-Jan-2020
  • (2019)On Transactional Concurrency ControlSynthesis Lectures on Data Management10.2200/S00912ED2V01Y201904DTM05914:5(1-404)Online publication date: 11-Jun-2019
  • (2018)Exporting Transactional Interface to Applications in Log-Structured File Systems2018 IEEE International Conference on Networking, Architecture and Storage (NAS)10.1109/NAS.2018.8515726(1-10)Online publication date: Oct-2018
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media