Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
skip to main content
research-article

Compaction management in distributed key-value datastores

Published: 01 April 2015 Publication History
  • Get Citation Alerts
  • Abstract

    Compactions are a vital maintenance mechanism used by datastores based on the log-structured merge-tree to counter the continuous buildup of data files under update-intensive workloads. While compactions help keep read latencies in check over the long run, this comes at the cost of significantly degraded read performance over the course of the compaction itself. In this paper, we offer an in-depth analysis of compaction-related performance overheads and propose techniques for their mitigation. We offload large, expensive compactions to a dedicated compaction server to allow the datastore server to better utilize its resources towards serving the actual workload. Moreover, since the newly compacted data is already cached in the compaction server's main memory, we fetch this data over the network directly into the datastore server's local cache, thereby avoiding the performance penalty of reading it back from the filesystem. In fact, pre-fetching the compacted data from the remote cache prior to switching the workload over to it can eliminate local cache misses altogether. Therefore, we implement a smarter warmup algorithm that ensures that all incoming read requests are served from the datastore server's local cache even as it is warming up. We have integrated our solution into HBase, and using the YCSB and TPC-C benchmarks, we show that our approach significantly mitigates compaction-related performance problems. We also demonstrate the scalability of our solution by distributing compactions across multiple compaction servers.

    References

    [1]
    A. S. Aiyer, M. Bautin, G. J. Chen, P. Damania, P. Khemani, K. Muthukkaruppan, K. Ranganathan, N. Spiegelberg, L. Tang, and M. Vaidya. Storage infrastructure behind Facebook Messages: Using HBase at scale. IEEE Data Eng. Bull., 35(2): 4--13, 2012.
    [2]
    J. Baker, C. Bond, J. C. Corbett, J. J. Furman, A. Khorlin, J. Larson, J.-M. Leon, Y. Li, A. Lloyd, and V. Yushprakh. Megastore: Providing scalable, highly available storage for interactive services. In CIDR, pages 223--234, 2011.
    [3]
    F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. Gruber. Bigtable: A distributed storage system for structured data. In OSDI, pages 205--218, 2006.
    [4]
    C. Clark, K. Fraser, S. Hand, J. G. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield. Live migration of virtual machines. In NSDI, 2005.
    [5]
    J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. C. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's globally-distributed database. In OSDI, pages 261--264, 2012.
    [6]
    S. Das, S. Nishimura, D. Agrawal, and A. El Abbadi. Albatross: Lightweight elasticity in shared storage databases for the cloud using live data migration. PVLDB, 4(8): 494--505, 2011.
    [7]
    G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's highly available key-value store. In SOSP, pages 205--220, 2007.
    [8]
    A. J. Elmore, S. Das, D. Agrawal, and A. El Abbadi. Zephyr: live migration in shared nothing databases for elastic cloud platforms. In SIGMOD, pages 301--312, 2011.
    [9]
    S. Ghemawat, H. Gobioff, and S.-T. Leung. The Google file system. In SOSP, pages 29--43, 2003.
    [10]
    A. Gupta, F. Yang, J. Govig, A. Kirsch, K. Chan, K. Lai, S. Wu, S. G. Dhoot, A. R. Kumar, A. Agiwal, S. Bhansali, M. Hong, J. Cameron, M. Siddiqi, D. Jones, J. Shute, A. Gubarev, S. Venkataraman, and D. Agrawal. Mesa: Geo-replicated, near real-time, scalable data warehousing. PVLDB, 7(12): 1259--1270, 2014.
    [11]
    C. Kolovson and M. Stonebraker. Indexing techniques for historical databases. In Data Engineering.
    [12]
    A. Lakshman and P. Malik. Cassandra: A decentralized structured storage system. SIGOPS Oper. Syst. Rev., 44(2): 35--40, Apr. 2010.
    [13]
    P. E. O'Neil, E. Cheng, D. Gawlick, and E. J. O'Neil. The log-structured merge-tree (LSM-tree). Acta Inf., 33(4): 351--385, 1996.
    [14]
    C. Plattner, G. Alonso, and M. T. Özsu. Extending DBMSs with satellite databases. VLDB J., 17(4): 657--682, 2008.
    [15]
    R. Sears and R. Ramakrishnan. bLSM: a general purpose log structured merge tree. SIGMOD, pages 217--228, 2012.
    [16]
    D. G. Severance and G. M. Lohman. Differential files: Their application to the maintenance of large databases. ACM Trans. Database Syst., 1(3): 256--267, Sept. 1976.
    [17]
    V. Sikka, F. Färber, W. Lehner, S. K. Cha, T. Peh, and C. Bornhövd. Efficient transaction processing in SAP HANA database: The end of a column store myth. SIGMOD, pages 731--742, 2012.
    [18]
    T. Wood, P. J. Shenoy, A. Venkataramani, and M. S. Yousif. Black-box and gray-box strategies for virtual machine migration. In NSDI, 2007.

    Cited By

    View all
    • (2024)Structural Designs Meet Optimality: Exploring Optimized LSM-tree Structures in a Colossal Configuration SpaceProceedings of the ACM on Management of Data10.1145/36549782:3(1-26)Online publication date: 30-May-2024
    • (2024)CaaS-LSM: Compaction-as-a-Service for LSM-based Key-Value Stores in Storage Disaggregated InfrastructureProceedings of the ACM on Management of Data10.1145/36549272:3(1-28)Online publication date: 30-May-2024
    • (2023)Learning to Optimize LSM-trees: Towards A Reinforcement Learning based Key-Value Store for Dynamic WorkloadsProceedings of the ACM on Management of Data10.1145/36173331:3(1-25)Online publication date: 13-Nov-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    Proceedings of the VLDB Endowment  Volume 8, Issue 8
    April 2015
    72 pages

    Publisher

    VLDB Endowment

    Publication History

    Published: 01 April 2015
    Published in PVLDB Volume 8, Issue 8

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)44
    • Downloads (Last 6 weeks)2

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Structural Designs Meet Optimality: Exploring Optimized LSM-tree Structures in a Colossal Configuration SpaceProceedings of the ACM on Management of Data10.1145/36549782:3(1-26)Online publication date: 30-May-2024
    • (2024)CaaS-LSM: Compaction-as-a-Service for LSM-based Key-Value Stores in Storage Disaggregated InfrastructureProceedings of the ACM on Management of Data10.1145/36549272:3(1-28)Online publication date: 30-May-2024
    • (2023)Learning to Optimize LSM-trees: Towards A Reinforcement Learning based Key-Value Store for Dynamic WorkloadsProceedings of the ACM on Management of Data10.1145/36173331:3(1-25)Online publication date: 13-Nov-2023
    • (2023)DComp: Efficient Offload of LSM-tree Compaction with Data Processing UnitsProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605633(233-243)Online publication date: 7-Aug-2023
    • (2023)Disaggregating RocksDB: A Production ExperienceProceedings of the ACM on Management of Data10.1145/35897721:2(1-24)Online publication date: 20-Jun-2023
    • (2022)Columnar formats for schemaless LSM-based document storesProceedings of the VLDB Endowment10.14778/3547305.354731415:10(2085-2097)Online publication date: 1-Jun-2022
    • (2022)ShadowSyncProceedings of the 23rd ACM/IFIP International Middleware Conference10.1145/3528535.3565251(281-294)Online publication date: 7-Nov-2022
    • (2021)Elastic and Stable Compaction for LSM-treeProceedings of the 30th ACM International Conference on Information & Knowledge Management10.1145/3459637.3481913(3906-3915)Online publication date: 26-Oct-2021
    • (2021)Nova-LSM: A Distributed, Component-based LSM-tree Key-value StoreProceedings of the 2021 International Conference on Management of Data10.1145/3448016.3457297(749-763)Online publication date: 9-Jun-2021
    • (2021)Chucky: A Succinct Cuckoo Filter for LSM-TreeProceedings of the 2021 International Conference on Management of Data10.1145/3448016.3457273(365-378)Online publication date: 9-Jun-2021
    • 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