{"title":"Transparent Relational Database Caching Based on Storage Engines Using In-memory Database","authors":"Motoshi Miyamoto, Ryota Kawashima, H. Matsuo","doi":"10.1109/CANDARW53999.2021.00082","DOIUrl":null,"url":null,"abstract":"Relational databases (RDB) can be used with in-memory cache DBs such as Redis and memcached to shorten the response time. However, programs are complicated by explicitly controlling the RDB and in-memory cache DB on the client-side. In this paper, we propose a method to implement an access function to the in-memory cache DB in the RDB storage engine, so that the client-side can use the in-memory cache DB transparently by accessing the RDB. The storage engine is implemented for MySQL. The cache is used to provide quick access to data for indexed reads. We conducted the following three evaluations. First, to evaluate a description method that does not make the client aware of the cache, we evaluated the existing method and the amount of source code. As a result, we confirmed that the amount of description could be reduced to about 1/3. Next, we evaluated the performance of MySQL and the proposed method using the same source code. As a result, the throughput was improved by up to 55%. Finally, we evaluated the overhead of our method by writing cache-aware code on the client side and evaluating our method. As a result, we confirmed that the overhead of our method is about 2.7%.","PeriodicalId":325028,"journal":{"name":"2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW)","volume":"8 2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CANDARW53999.2021.00082","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Relational databases (RDB) can be used with in-memory cache DBs such as Redis and memcached to shorten the response time. However, programs are complicated by explicitly controlling the RDB and in-memory cache DB on the client-side. In this paper, we propose a method to implement an access function to the in-memory cache DB in the RDB storage engine, so that the client-side can use the in-memory cache DB transparently by accessing the RDB. The storage engine is implemented for MySQL. The cache is used to provide quick access to data for indexed reads. We conducted the following three evaluations. First, to evaluate a description method that does not make the client aware of the cache, we evaluated the existing method and the amount of source code. As a result, we confirmed that the amount of description could be reduced to about 1/3. Next, we evaluated the performance of MySQL and the proposed method using the same source code. As a result, the throughput was improved by up to 55%. Finally, we evaluated the overhead of our method by writing cache-aware code on the client side and evaluating our method. As a result, we confirmed that the overhead of our method is about 2.7%.