ISSN 1000-1239 CN 11-1777/TP

Journal of Computer Research and Development ›› 2015, Vol. 52 ›› Issue (4): 907-917.doi: 10.7544/issn1000-1239.2015.20131910

Previous Articles     Next Articles

A Mechanism for Transparent Data Caching

Wang Yanshi1,3,Wang Wei1,2,Liu Zhaohui1,2,Wei Jun1,2, Huang Tao1,2   

  1. 1(Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, Beijing 100190) 2(State Key Laboratory of Computer Science(Institute of Software, Chinese Academy of Sciences), Beijing 100190); 3(University of Chinese Academy of Sciences, Beijing 100049)
  • Online:2015-04-01

Abstract: Data caching is an important technology to promote system performance. However, most of the existing data caching solutions need application developers to rewrite the application and to take a large effort to manually manage the caching data. All these disadvantages give rise to the cost of cache deployment and management. A new caching mechanism named EasyCache is proposed in this work, which aims at integrating with existing applications transparently. EasyCache, a key/value store, can scale easily for big data and is compatible with the common data access interfaces and SQL syntax. SQL statements are translated into a sequence of predicts which are specifically designed for key/value stores and rule-based optimization model is proposed simultaneously. EasyCache supports automatic loading of caching data and provides different policies to guarantee data consistency. Developers can easily finish the deployment of EasyCache by replacing the original database driver with EasyCache’s driver, without any modification of existing applications’ source codes. The effectiveness of the EasyCache is illustrated via a detailed set of experimentation using the TPC-W benchmark. The numerical results show that we improve the response speed and throughput by up to 10x and 1x respectively when increasing the number of the table data entries or the number of concurrent users.

Key words: caching, transparent integration, key/value, distributed system, SQL

CLC Number: