A Comparison of Two Cache Augmented SQL Architectures

  • Shahram GhandeharizadehEmail author
  • Hieu Nguyen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11135)


Cloud service providers augment a SQL database management system with a cache to enhance system performance for workloads that exhibit a high read to write ratio. These in-memory caches provide a simple programming interface such as get, put, and delete. Using their software architecture, different caching frameworks can be categorized into Client-Server (CS) and Shared Address Space (SAS) systems. Example CS caches are memcached and Redis. Example SAS caches are Java Cache standard and its Google Guava implementation, Terracotta BigMemory and KOSAR. How do CS and SAS architectures compare with one another and what are their tradeoffs? This study quantifies an answer using BG, a benchmark for interactive social networking actions. In general, obtained results show SAS provides a higher performance with write policies playing an important role.


Caching Write policy Scalability Performance 



We thank the anonymous reviewers for their valuable comments.


  1. 1.
    Adya, A., et al.: Slicer: auto-sharding for datacenter applications. In: OSDI, pp. 739–753 (2016)Google Scholar
  2. 2.
    Alabdulkarim, Y., Almaymoni, M., Cao, Z., Ghandeharizadeh, S., Nguyen, H., Song, L.: A comparison of Flashcache with IQ-Twemcached. In: IEEE CloudDM (2016)Google Scholar
  3. 3.
    Alabdulkarim, Y., Almaymoni, M., Ghandeharizadeh, S.: Polygraph: a plug-n-play framework to quantify anomalies. In: IEEE ICDE, April 2018Google Scholar
  4. 4.
    Alabdulkarim, Y., Barahmand, S., Ghandeharizadeh, S.: BG: a scalable benchmark for interactive social networking actions. Future Gener. Comput. Syst. 85, 29–38 (2018)CrossRefGoogle Scholar
  5. 5.
    Apache: Ignite - In-Memory Data Fabric (2016).
  6. 6.
    Armstrong, T., Ponnekanti, V., Borthakur, D., Callaghan, M.: LinkBench: a database benchmark based on the Facebook social graph. In: ACM SIGMOD, June 2013Google Scholar
  7. 7.
    Barahmand, S., Ghandeharizadeh, S.: BG: a benchmark to evaluate interactive social networking actions. In: CIDR, January 2013Google Scholar
  8. 8.
    Bornhövd, C., Altinel, M., Krishnamurthy, S., Mohan, C., Pirahesh, H., Reinwald, B.: DBCache: middle-tier database caching for highly scalable e-Business architectures. In: Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, San Diego, California, USA (2003)Google Scholar
  9. 9.
    Bronson, N., Lento, T., Wiener, J.L.: Open data challenges at Facebook. In: 31st IEEE International Conference on Data Engineering, ICDE 2015, Seoul, South Korea, 13–17 April 2015, pp. 1516–1519 (2015)Google Scholar
  10. 10.
    Byan, S., et al.: Mercury: host-side flash caching for the data center. In: IEEE Symposium on Mass Storage Systems and Technologies (MSST) (2012)Google Scholar
  11. 11.
  12. 12.
    Denning, P.J.: The working set model for program behavior. Commun. ACM 11(5), 323–333 (1968)MathSciNetCrossRefGoogle Scholar
  13. 13.
    DeWitt, D.J., Futtersack, P., Maier, D., Vélez, F.: A study of three alternative workstation-server architectures for object oriented database systems. In: Proceedings of the 16th International Conference on Very Large Data Bases, VLDB 1990 (1990)Google Scholar
  14. 14.
    Faust, M., et al.: Footprint reduction and uniqueness enforcement with hash indices in SAP HANA. In: Hartmann, S., Ma, H. (eds.) DEXA 2016. LNCS, vol. 9828, pp. 137–151. Springer, Cham (2016). Scholar
  15. 15.
    Franklin, M.J.: Client Data Caching: A Foundation for High Performance. Kluwer Academic Publishers, AH Dordrecht (1996)CrossRefGoogle Scholar
  16. 16.
    Ghandeharizadeh, S., DeWitt, D.J.: A multiuser performance analysis of alternative declustering strategies. In: Proceedings of the Sixth International Conference on Data Engineering, Los Angeles, California, USA, pp. 466–475 (1990)Google Scholar
  17. 17.
    Ghandeharizadeh, S., et al.: A demonstration of KOSAR: an elastic, scalable, highly available SQL middleware. In: ACM Middleware (2014)Google Scholar
  18. 18.
    Ghandeharizadeh, S., Ngueyn, H.: Design, implementation, and evaluation of write-back policy with cache augmented data stores. Technical report 2018-06, USC Database Laboratory (2018)Google Scholar
  19. 19.
    Ghandeharizadeh, S., Nguyen, H.: A comparison of two cache augmented sql architectures. Technical report 2018-04, USC Database Laboratory (2018).
  20. 20.
    Ghandeharizadeh, S., Yap, J.: Cache augmented database management systems. In: ACM SIGMOD DBSocial Workshop, June 2013Google Scholar
  21. 21.
    Ghandeharizadeh, S., Yap, J., Nguyen, H.: IQ-Twemcached.
  22. 22.
    Ghandeharizadeh, S., Yap, J., Nguyen, H.: Strong consistency in cache augmented SQL systems. In: Middleware, December 2014Google Scholar
  23. 23.
    Ghemawat, S., Gobioff, H., Leung, S.: The Google file system. In: SOSP 2003: Proceedings of Nineteenth ACM SIGOPS Symposium on Operating Systems Principles. ACM Press (2003)Google Scholar
  24. 24.
    Google: Guava: Core Libraries for Java (2015).
  25. 25.
    Gupta, P., Zeldovich, N., Madden, S.: A trigger-based middleware cache for ORMs. In: Middleware (2011)Google Scholar
  26. 26.
    Holland, D.A., Angelino, E., Wald, G., Seltzer, M.I.: Flash caching on the storage client. In: USENIXATC (2013)Google Scholar
  27. 27.
    Java Community Process: JCACHE - Java Temporary Caching API (2014).
  28. 28.
    Johnson, T., Shasha, D.: 2Q: a low overhead high performance buffer management replacement algorithm. In: VLDB, pp. 439–450 (1994)Google Scholar
  29. 29.
    Kim, H., et al.: Flash-conscious cache population for enterprise database workloads. In: Fifth International Workshop on Accelerating Data Management Systems Using Modern Processor and Storage Architectures (2014)Google Scholar
  30. 30.
    Koller, R., Marmol, L., Rangaswami, R., Sundararaman, S., Talagala, N., Zhao, M.: Write policies for host-side Flash caches. In: FAST 2013 (2013)Google Scholar
  31. 31.
    Krüger, J., et al.: Fast updates on read-optimized databases using multi-core CPUs. PVLDB 5(1), 61–72 (2011)Google Scholar
  32. 32.
    Larson, P., Goldstein, J.J., Guo, H., Zhou, J.: MTCache: transparent mid-tier database caching in SQL server. In: ICDE (2004)Google Scholar
  33. 33.
    Megiddo, N., Modha, D.S.: ARC: a self-tuning, low overhead replacement cache. In: FAST. USENIX (2003)Google Scholar
  34. 34.
  35. 35.
    Nishtala, R., et al.: Scaling Memcache at Facebook. In: NSDI, pp. 385–398. USENIX, Berkeley (2013)Google Scholar
  36. 36.
    O’Neil, E.J., O’Neil, P.E., Weikum, G.: The LRU-K page replacement algorithm for database disk buffering. In: ACM SIGMOD (1993)Google Scholar
  37. 37.
    Ports, D.R.K., Clements, A.T., Zhang, I., Madden, S., Liskov, B.: Transactional consistency and automatic management in an application data cache. In: OSDI. USENIX, October 2010Google Scholar
  38. 38.
    RedisLabs: Redis.
  39. 39.
    Stonebraker, M.: Operating system support for database management. Commun. ACM 24(7), 412–418 (1981)CrossRefGoogle Scholar
  40. 40.
    Stonebraker, M., Cattell, R.: 10 rules for scalable performance in simple operation datastores. Commun. ACM 54, 72–80 (2011)CrossRefGoogle Scholar
  41. 41.
  42. 42.
    Voruganti, K., Özsu, M.T., Unrau, R.C.: An adaptive data-shipping architecture for client caching data management systems. Distrib. Parallel Databases 15(2), 137–177 (2004)CrossRefGoogle Scholar
  43. 43.
    Whalin, G., Wang, X., Li, M.: Whalin Memcached Client Version 2.6.1.

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.USC Database LaboratoryLos AngelesUSA

Personalised recommendations