skip to main content
research-article

SharedDB: killing one thousand queries with one stone

Published:01 February 2012Publication History
Skip Abstract Section

Abstract

Traditional database systems are built around the query-at-a-time model. This approach tries to optimize performance in a best-effort way. Unfortunately, best effort is not good enough for many modern applications. These applications require response time guarantees in high load situations. This paper describes the design of a new database architecture that is based on batching queries and shared computation across possibly hundreds of concurrent queries and updates. Performance experiments with the TPC-W benchmark show that the performance of our implementation, SharedDB, is indeed robust across a wide range of dynamic workloads.

References

  1. S. Arumugam, A. Dobra, C. M. Jermaine, N. Pansare, and L. Perez. The DataPath System: A Data-Centric Analytic Processing Engine for Large Data Warehouses. In Proc. SIGMOD, pages 519--530, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Avnur and J. M. Hellerstein. Eddies: Continuously Adaptive Query Processing. In Proc. SIGMOD, pages 261--272, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Candea, N. Polyzotis, and R. Vingralek. A Scalable, Predictable Join Operator for Highly Concurrent Data Warehouses. In Proc. VLDB, pages 277--288, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Candea, N. Polyzotis, and R. Vingralek. Predictable Performance and High Query Concurrency for Data Analytics. VLDB Journal, 20(2):227--248, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Chaudhuri and V. R. Narasayya. An Efficient Cost-Driven Index Selection Tool for Microsoft SQL Server. In Proc. VLDB, pages 146--155, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. N. N. Dalvi, S. K. Sanghai, P. Roy, and S. Sudarshan. Pipelining in Multi-Query Optimization. In Proc. PODS, pages 59--70, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Dar, M. J. Franklin, B. T. Jónsson, D. Srivastava, and M. Tan. Semantic Data Caching and Replacement. In Proc. VLDB, pages 330--341, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Y. Diao, M. Altinel, M. J. Franklin, H. Zhang, and P. Fischer. Path Sharing and Predicate Evaluation for High-Performance XML Filtering. ACM Trans. Database Systems, 28(4):467--516, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J.-P. Dittrich, B. Seeger, D. S. Taylor, and P. Widmayer. Progressive Merge Join: a Generic and Non-Blocking Sort-Based Join Algorithm. In Proc. VLDB, pages 299--310, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. M. Fernandez. Red Brick Warehouse: A Read-Mostly RDBMS for Open SMP Platforms. In Proc. SIGMOD, page 492, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Finkelstein. Common Expression Analysis in Database Applications. In Proc. SIGMOD, pages 235--245, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. M. Fischer and D. Kossmann. Batched Processing for Information Filters. In Proc. ICDE, pages 902--913, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. L. M. Haas, J. C. Freytag, G. M. Lohman, and H. Pirahesh. Extensible Query Processing in Starburst. In Proc. SIGMOD, pages 377--388, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Harizopoulos and A. Ailamaki. StagedDB: Designing Database Servers for Modern Hardware. IEEE Data Eng. Bull., 28(2):11--16, 2005.Google ScholarGoogle Scholar
  15. S. Harizopoulos, V. Shkapenyuk, and A. Ailamaki. QPipe: A Simultaneously Pipelined Relational Query Engine. In Proc. SIGMOD, pages 383--394, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Helmer and G. Moerkotte. Evaluation of Main Memory Join Algorithms for Joins with Set Comparison Join Predicates. In Proc. VLDB, pages 386--395, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Héman, N. Nes, M. Zukowski, and P. Boncz. Vectorized Data Processing on the Cell Broadband Engine. In Proc. DaMoN, pages 4:1--4:6, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. G. Ivanova, M. L. Kersten, N. J. Nes, and R. A. Gonçalves. An Architecture for Recycling Intermediates in a Column-Store. In Proc. SIGMOD, pages 309--320, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Kim, T. Kaldewey, V. W. Lee, E. Sedlar, A. D. Nguyen, N. Satish, J. Chhugani, A. Di Blas, and P. Dubey. Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs. In Proc. VLDB, pages 1378--1389, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Kossmann, M. J. Franklin, G. Drasch, and W. Ag. Cache Investment: Integrating Query Optimization and Distributed Data Placement. ACM Trans. Database Systems, 25(4):517--558, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. L. Qiao, V. Raman, F. Reiss, P. J. Haas, and G. M. Lohman. Main-Memory Scan Sharing for Multi-Core CPUs. In Proc. VLDB, pages 610--621, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. V. Raman, G. Swart, L. Qiao, F. Reiss, V. Dialani, D. Kossmann, I. Narang, and R. Sidle. Constant-Time Query Processing. In Proc. ICDE, pages 60--69, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T.-I. Salomie, I. E. Subasu, J. Giceva, and G. Alonso. Database Engines on Multicores, Why Parallelize when you can Distribute? In Proc. EuroSys, pages 17--30, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. G. Selinger, M. M. Astrahan, D. D. Chamberlin, R. A. Lorie, and T. G. Price. Access Path Selection in a Relational Database Management System. In Proc. SIGMOD, pages 23--34, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. T. K. Sellis. Multiple-Query Optimization. ACM Trans. Database Systems, 13(1):23--52, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. D. Shapiro. Join Processing in Database Systems with Large Main Memories. ACM Trans. Database Systems, 11(3):239--264, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Stonebraker, S. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The End of an Architectural Era: (It's Time for a Complete Rewrite). In Proc. VLDB, pages 1150--1160, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. Unterbrunner, G. Giannikis, G. Alonso, D. Fauser, and D. Kossmann. Predictable Performance for Unpredictable Workloads. In Proc. VLDB, pages 706--717, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Zukowski, S. Héman, N. Nes, and P. Boncz. Cooperative Scans: Dynamic Bandwidth Sharing in a DBMS. In Proc VLDB, pages 723--734, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

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 Proceedings of the VLDB Endowment
    Proceedings of the VLDB Endowment  Volume 5, Issue 6
    February 2012
    96 pages

    Publisher

    VLDB Endowment

    Publication History

    • Published: 1 February 2012
    Published in pvldb Volume 5, Issue 6

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader