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.