ABSTRACT
Developers usually use in-memory data caching system like Hazelcast with the application server to offload the backend database for scaling Internetware. Unfortunately, such caches do not integrate well with the database or the application. Developers need to take a large effort to rewrite the existing data access logic and manually manage the caching data. In this paper, we present EasyCache, a novel data caching approach, which provides transparent cache pre-loading, accessing and consistency maintenance to relieve developers of the burden of cache using and management. First, EasyCache translates each row of data in the existing database table into application cached object to pre-load cache data. Second, EasyCache allows applications to access the data cache using SQL statements and translates them into key/value based cache operations. Finally, EasyCache provides asynchronous/synchronous strategies to persist the cache data changes into the backend database. We design and implement EasyCache as a JDBC driver with Hazelcast as the caching layer. To evaluate our prototype, a detailed set of experiments were performed using the TPC-W benchmark. In the experiments, the only programming effort with EasyCache is point the application to the EasyCache JDBC driver. In contrast, when using Hazelcast as a traditional application-level caching system, we need to modify the TPC-W code over 2000 lines for 15 man days. Our experiments also show that, compared to a system with no cache and with query result cache, using EasyCache leads to up to 692× and 77× performance improvement respectively.
- Ozsu M, Valduriez P. Principles of Distributed Database Systems. New York: Springer, 2011. Google ScholarDigital Library
- Tewari, R., Dahlin, M., Vin, H.M., Kay, J.S. 1999. Design considerations for distributed caching on the Internet. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems. ICDCS '99. IEEE Computer Society, Washington, DC, USA, 273-284. Google ScholarDigital Library
- Podlipnig, S. and Böszörmenyi, L. 2003. A survey of Web cache replacement strategies. ACM Comput. Surv. 35, 4 (December 2003), 374-398. Google ScholarDigital Library
- Bornhövd, C., Altinel, M., Mohan, C., Pirahesh, H., Reinwald, B. 2004. Adaptive database caching with DBCache. IEEE Data Eng. Bull. 27(2), 11–18.Google Scholar
- Larson, P.-A, Goldstein, J., Zhou, J. 2004. MTCache: transparent mid-tier database caching in SQL server. In Proceedings of the 20th International Conference on Data Engineering. ICDE '04, Boston, MA, 177-188. Google ScholarDigital Library
- Garrod, C., Manjhi, A., Ailamaki, A., Maggs, B., Mowry, T., Olston, C., Tomasic, A. 2008. Scalable query result caching for web applications. Proc. VLDB Endow. 1, 1 (August 2008), 550-561. Google ScholarDigital Library
- S. Ghandeharizadeh, J. Yap, and S. Barahmand. 2012. COSAR-CQN: An Application Transparent Approach to Cache Consistency. In Proceedings of the 21st International Conference on Software Engineering and Data Engineering, LA, California, June 27-29.Google Scholar
- Amiri, K., Park, S., Tewari, R., Padmanabhan, S. 2003. DBProxy: A dynamic data cache for web applications. In Proceedings of the 19th International Conference on Data Engineering. ICDE '03, 821–831.Google ScholarCross Ref
- Gupta, P., Zeldovich, N., Madden, M. 2011. A trigger-based middleware cache for ORMs. In Proceedings of the 12th ACM/IFIP/USENIX international conference on Middleware. Middleware'11, Fabio Kon and Anne-Marie Kermarrec (Eds.). Springer-Verlag, Berlin, Heidelberg, 329-349. Google ScholarDigital Library
- Sivasubramanian, S., Pierre, G., van Steen, M., Alonso, G. 2006. GlobeCBC: Content-blind result caching for dynamicWeb applications. Technical Report IR-CS-022, Vrije Universiteit,Amsterdam, Netherlands (June 2006).Google Scholar
- Amiri, K., Park, S., Tewari, R., Padmanabhan, S. 2003. Scalable template-based query containment checking for web semantic caches. In Proceedings of the 19th International Conference on Data Engineering. ICDE '03, 493–504.Google ScholarCross Ref
- Degenaro, L., Iyengar, A., Lipkind, I., Rouvellou, I. 2000. A Middleware System Which Intelligently Caches Query Results. In Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, Springer, Heidelberg, 24–44. Google ScholarDigital Library
- Kristian F. D. Rietveld and Harry A. G. Wijshoff. 2013. To cache or not to cache: a trade-off analysis for locally cached database systems. In Proceedings of the ACM International Conference on Computing Frontiers. CF '13, ACM, New York, NY, USA, Article 31, 8 pages. Google ScholarDigital Library
- Zhang, W., Wang, S., Wang, W., Zhong, H. 2011. Bench4Q: A QoS-Oriented E-Commerce Benchmark. In Proceedings of the 35th Annual Computer Software and Applications Conference. COMPSAC '11, 38-47. Google ScholarDigital Library
- García, D.F., and García, J. 2003. TPC-W E-Commerce Benchmark Evaluation, Computer, 36, 2 (February 2003), 42-48. Google ScholarDigital Library
Index Terms
- EasyCache: a transparent in-memory data caching approach for internetware
Recommendations
An energy efficient re-access scheme for data caching in data broadcast of a mobile computing environment
Data caching is used to improve the response time and the power consumption of a mobile client in a mobile computing environment. To enhance the performance of data caching, one needs to improve the hit ratio and to reduce the cost in processing a cache ...
Selective Victim Caching: A Method to Improve the Performance of Direct-Mapped Caches
Although direct-mapped caches suffer from higher miss ratios as compared to set-associative caches, they are attractive for today's high-speed pipelined processors that require very low access times. Victim caching was proposed by Jouppi [1] as an ...
Comments