skip to main content
column

In-memory Databases: Challenges and Opportunities From Software and Hardware Perspectives

Published:12 August 2015Publication History
Skip Abstract Section

Abstract

The increase in the capacity of main memory coupled with the decrease in cost has fueled research in and development of in-memory databases. In recent years, the emergence of new hardware has further given rise to new challenges which have attracted a lot of attention from the research community. In particular, it is widely accepted that hardware solutions can provide promising alternatives for realizing the full potential of in-memory systems. Here, we argue that naive adoption of hardware solutions does not guarantee superior performance over software solutions, and identify problems in such hardware solutions that limit their performance. We also highlight the primary challenges faced by in-memory databases, and summarize their potential solutions, from both software and hardware perspectives

References

  1. A. Belay, G. Prekas, A. Klimovic, S. Grossman, C. Kozyrakis, and E. Bugnion. Ix: A protected dataplane operating system for high throughput and low latency. In OSDI '14, pages 49--65, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Q. Cai, H. Zhang, G. Chen, B. C. Ooi, and K.-L. Tan. Memepic: Towards a database system architecture without system calls. Technical report, NUS, 2015.Google ScholarGoogle Scholar
  3. C. Cascaval, C. Blundell, M. Michael, H. W. Cain, P. Wu, S. Chiras, and S. Chatterjee. Software transactional memory: Why is it only a research toy? Queue, 6(5):40:46--40:58, Sept. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Chelsio. Roce at a crossroads. Technical report, Chelsio Communications Inc., 2014.Google ScholarGoogle Scholar
  5. S. Damaraju, V. George, S. Jahagirdar, T. Khondker, R. Milstrey, S. Sarkar, S. Siers, I. Stolero, and A. Subbiah. A 22nm ia multi-cpu and gpu system-on-chip. In ISSCC '12, pages 56--57, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  6. J. DeBrabant, A. Joy, A. Pavlo, M. Stonebraker, S. Zdonik, and S. R. Dulloor. A prolegomenon on oltp database systems for non-volatile memory. In ADMS '14, pages 57--63, 2014.Google ScholarGoogle Scholar
  7. Z. Feng, E. Lo, B. Kao, and W. Xu. Byteslice: Pushing the envelop of main memory data processing with a new storage layout. In SIGMOD '15, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Harizopoulos, D. J. Abadi, S. Madden, and M. Stonebraker. Oltp through the looking glass, and what we found there. In SIGMOD '08, pages 981--992, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Jha, B. He, M. Lu, X. Cheng, and H. P. Huynh. Improving main memory hash joins on intel xeon phi processors: An experimental approach. In PVLDB '15, pages 642--653, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. P. C. Jones, D. J. Abadi, and S. Madden. Low overhead concurrency control for partitioned main memory databases. In SIGMOD '10, pages 603--614, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Kalia, M. Kaminsky, and D. G. Andersen. Using rdma efficiently for key-value services. In SIGCOMM '14, pages 295--306, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Kemper and T. Neumann. Hyper: A hybrid oltp&olap main memory database system based on virtual memory snapshots. In ICDE '11, pages 195--206, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P.-A. Larson, S. Blanas, C. Diaconu, C. Freedman, J. M. Patel, and M. Zwilling. High-performanceconcurrency control mechanisms for main-memory databases. In PVLDB '11, pages 298--309, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Lee, Y. S. Kwon, F. Farber, M. Muehle, C. Lee, C. Bensberg, J. Y. Lee, A. H. Lee, and W. Lehner. Sap hana distributed in-memory database system: Transaction, session, and metadata management. In ICDE '13, pages 1165--1173, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Lee, M. Kim, G. Do, S. Kim, H. Lee, J. Sim, N. Park, S. Hong, Y. Jeon, K. Choi, et al. Programming disturbance and cell scaling in phase change memory: For up to 16nm based 4F2 cell. In VLSIT '10, pages 199--200, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  16. V. Leis, A. Kemper, and T. Neumann. Exploiting hardware transactional memory in main-memory databases. In ICDE '14, pages 580--591, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  17. F. Li, B. C. Ooi, M. T. Özsu, and S. Wu. Distributed data management using mapreduce. ACM Computing Surveys, 46(3):31:1--31:42, Jan. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. H. Li, X. Wang, Z.-L. Ong, W.-F. Wong, Y. Zhang, P. Wang, and Y. Chen. Performance, power, and reliability tradeoffs of STT-RAM cell subject to architecture-level requirement. IEEE Transactions on Magnetics, 47(10):2356--2359, Oct. 2011.Google ScholarGoogle ScholarCross RefCross Ref
  19. D. Loghin, B. M. Tudor, H. Zhang, B. C. Ooi, and Y. M. Teo. A performance study of big data on small nodes. In PVLDB '15, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. L. M. Maas, T. Kissinger, D. Habich, and W. Lehner. Buzzard: A numa-aware in-memory indexing system. In SIGMOD '13, pages 1285--1286, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. Rethinking main memory oltp recovery. In ICDE '14, pages 604--615, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  22. C. Mitchell, Y. Geng, and J. Li. Using one-sided rdma reads to build a fast, cpu-efficient key-value store. In USENIX ATC '13, pages 103--114, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Neumann, T. Mühlbauer, and A. Kemper. Fast serializable multi-version concurrency control formain-memory database systems. In SIGMOD '15, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Pavlo, C. Curino, and S. Zdonik. Skew-aware automatic database partitioning in shared-nothing,parallel oltp systems. In SIGMOD '12, pages 61--72, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. K. Ren, A. Thomson, and D. J. Abadi. Lightweight locking for main memory database systems. In PVLDB '13, pages 145--156, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Rizzo. Netmap: A novel framework for fast packet i/o. In USENIX ATC '12, pages 101--112, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. M. Rumble, A. Kejriwal, and J. Ousterhout. Log-structured memory for dram-based storage. In FAST '14, pages 1--16, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Sanfilippo and P. Noordhuis. Redis. http://redis.io, 2009.Google ScholarGoogle Scholar
  29. S. Tu, W. Zheng, E. Kohler, B. Liskov, and S. Madden. Speedy transactions in multicore in-memory databases. In SOSP '13, pages 18--32, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Willhalm, N. Popovici, Y. Boshmaf, H. Plattner, A. Zeier, and J. Schaffner. Simd-scan: Ultra fast in-memory table scan using on-chip vector processing units. In PVLDB '09, pages 385--394, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. C. Yao, D. Agrawal, P. Chang, G. Chen, B. C. Ooi, W.-F. Wong, and M. Zhang. Dgcc: A new dependency graph based concurrency control protocol for multicore database systems. ArXiv e-prints, Mar. 2015.Google ScholarGoogle Scholar
  32. X. Yu, G. Bezerra, A. Pavlo, S. Devadas, and M. Stonebraker. Staring into the abyss: An evaluation of concurrency control with one thousand cores. In PVLDB '15, pages 209--220, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. H. Zhang, G. Chen, B. C. Ooi, K.-L. Tan, and M. Zhang. In-memory big data management and processing: A survey. TKDE, 27(7):1920--1947, July 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. H. Zhang, G. Chen, W.-F. Wong, B. C. Ooi, S. Wu, and Y. Xia. Anti-caching-based elastic data management for big data. In ICDE '15, pages 592--603, 2014.Google ScholarGoogle Scholar
  35. H. Zhang, B. M. Tudor, G. Chen, and B. C. Ooi. Efficient in-memory data management: An analysis. In PVLDB '14, pages 833--836, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. In-memory Databases: Challenges and Opportunities From Software and Hardware Perspectives
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGMOD Record
        ACM SIGMOD Record  Volume 44, Issue 2
        June 2015
        56 pages
        ISSN:0163-5808
        DOI:10.1145/2814710
        Issue’s Table of Contents

        Copyright © 2015 Copyright is held by the owner/author(s)

        Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 August 2015

        Check for updates

        Qualifiers

        • column

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader