skip to main content
10.1145/2588555.2594536acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
demonstration

Indexing on modern hardware: hekaton and beyond

Published: 18 June 2014 Publication History

Abstract

Recent OLTP support exploits new techniques, running on modern hardware, to achieve unprecedented performance compared with prior approaches. In SQL Server, the Hekaton main-memory database engine embodies this new OLTP support. Hekaton uses the Bw-tree to achieve its great indexing performance. The Bw-Tree is a latch-free B-tree index that also exploits log-structured storage when used "beyond" Hekaton as a separate key value store. It is designed from the ground up to address two hardware trends: (1) Multi-core and main memory hierarchy: the Bw-tree is completely latch-free, using an atomic compare-and-swap instruction to install state changes on a "page address" mapping table; it performs updates as "deltas" to avoid update-in-place. These improve performance by eliminating thread blocking while improving cache hit ratios. (2) Flash storage: the Bw-tree organizes secondary storage in a log-structured manner, using large sequential writes to avoid entirely the adverse performance impact of random writes. We demonstrate the architectural versatility and performance of the Bw-tree in two scenarios: (a) running live within Hekaton and (2) running as a standalone key value store compared to both BerkeleyDB and a state-of-the-art in-memory range index (latch-free skiplists). Using workloads from real-world applications (Microsoft XBox Live Primetime and enterprise deduplication), we show the Bw-tree is 19x faster than BerkeleyDB and 3x faster than skiplists.

References

[1]
A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood. DBMSs on a Modern Processor: Where Does Time Go? In VLDB, pages 266--277, 1999.
[2]
D. Comer. The Ubiquitous B-Tree. ACM Comput. Surv., 11(2):121--137, 1979.
[3]
B. Debnath, S. Sengupta, and J. Li. SkimpyStash: RAM Space Skimpy Key-Value Store on Flash-based Storage. In SIGMOD, pages 25--36, 2011.
[4]
C. Diaconu, C. Freedman, E. Ismert, P.-Å. Larson, P. Mittal, R. Stonecipher, N. Verma, and M. Zwilling. Hekaton: SQL Server's Memory-Optimized OLTP Engine. In SIGMOD, 2013.
[5]
Amazon DynamoDB.textbf\texttthttp://aws.amazon.com/dynamodb/.
[6]
J. J. Levandoski, D. B. Lomet, M. F. Mokbel, and K. Zhao. Deuteronomy: Transaction Support for Cloud Data. In CIDR, pages 123--133, 2011.
[7]
J. J. Levandoski, D. B. Lomet, and S. Sengupta. LLAMA: A Cache/Storage Subsystem for Modern Hardware. PVLDB, 6(10):877--888, 2013.
[8]
J. J. Levandoski, D. B. Lomet, and S. Sengupta. The Bw-Tree: A B-tree for New Hardware Platforms. In ICDE, pages 302--313, 2013.
[9]
D. Lomet, A. Fekete, G. Weikum, and M. Zwilling. Unbundling Transaction Services in the Cloud. In CIDR, pages 123--133, 2009.
[10]
MemSQL Indexes.\textbf\texttthttp://developers.memsql.com/docs/1b/indexes.html.
[11]
W. Pugh. Skip Lists: A Probabilistic Alternative to Balanced Trees. Commun. ACM, 33(6):668--676, 1990.
[12]
M. Rosenblum and J. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Trans. Comput. Syst., 10(1):26--52, 1992.
[13]
Xbox LIVE Primetime.textbf\texttthttp://www.xboxprimetime.com.

Cited By

View all
  • (2024) Bw e -tree: An Evolution of Bw-tree on Fast Storage 2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00396(5266-5279)Online publication date: 13-May-2024
  • (2024)Persistent Spiral Storage2024 IEEE 42nd International Conference on Computer Design (ICCD)10.1109/ICCD63220.2024.00046(256-259)Online publication date: 18-Nov-2024
  • (2022)Provenance-based data skippingProceedings of the VLDB Endowment10.14778/3494124.349413015:3(451-464)Online publication date: 4-Feb-2022
  • Show More Cited By

Index Terms

  1. Indexing on modern hardware: hekaton and beyond

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SIGMOD '14: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data
    June 2014
    1645 pages
    ISBN:9781450323765
    DOI:10.1145/2588555
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 June 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tag

    1. storage

    Qualifiers

    • Demonstration

    Conference

    SIGMOD/PODS'14
    Sponsor:

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)20
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 23 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024) Bw e -tree: An Evolution of Bw-tree on Fast Storage 2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00396(5266-5279)Online publication date: 13-May-2024
    • (2024)Persistent Spiral Storage2024 IEEE 42nd International Conference on Computer Design (ICCD)10.1109/ICCD63220.2024.00046(256-259)Online publication date: 18-Nov-2024
    • (2022)Provenance-based data skippingProceedings of the VLDB Endowment10.14778/3494124.349413015:3(451-464)Online publication date: 4-Feb-2022
    • (2021)Achieving high throughput and elasticity in a larger-than-memory storeProceedings of the VLDB Endowment10.14778/3457390.345740614:8(1427-1440)Online publication date: 21-Oct-2021
    • (2021)Cuckoo TrieProceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles10.1145/3477132.3483551(147-162)Online publication date: 26-Oct-2021
    • (2020)DashProceedings of the VLDB Endowment10.14778/3389133.338913413:8(1147-1161)Online publication date: 3-May-2020
    • (2019)BiloKey : A Scalable Bi-Index Locality-Aware In-Memory Key-Value StoreIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2019.289159930:7(1528-1540)Online publication date: 1-Jul-2019
    • (2018)Cimple: instruction and memory level parallelismProceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques10.1145/3243176.3243185(1-16)Online publication date: 1-Nov-2018
    • (2018)Building a Bw-Tree Takes More Than Just Buzz WordsProceedings of the 2018 International Conference on Management of Data10.1145/3183713.3196895(473-488)Online publication date: 27-May-2018
    • (2018)A Comprehensive Performance Evaluation of Modern In-Memory Indices2018 IEEE 34th International Conference on Data Engineering (ICDE)10.1109/ICDE.2018.00064(641-652)Online publication date: Apr-2018
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media