ETERNAL: An Efficient Fault Tolerance Strategy Using Nonvolatile Memory
Abstract
In-memory DBMSs have proven to be an efficient alternative for managing large volumes of data. They’re characterized by using RAM as their primary storage medium. However, such systems need nonvolatile storage to ensure the durability of its transactions. Byte addressable non-volatile memories (NVRAM) are ideal candidates for securing such a property because they have access times close to traditional RAM memory but still guarantee data persistence. In order to address the problem of transaction durability in main memory DBMSs, this paper proposes ETERNAL, a durability architecture that makes efficient use of nonvolatile memory, improving the process performance of persistence in such DBMSs. Experiments reveal that ETERNAL provides a higher throughput than the write-ahead logging (WAL) approach. It is also noteworthy that, even using nonvolatile memory as a storage medium, the WAL approach does not have a mechanism to deal with the scenario in which nonvolatile memory runs out.
References
Arulraj, J. and Pavlo, A. (2017). How to build a non-volatile memory database management system. In Proceedings of the 2017 ACM International Conference on Management of Data, pages 1753–1758. ACM. DOI: https://doi.org/10.1145/3035918.3054780
Arulraj, J., Perron, M., and Pavlo, A. (2016). Write-behind logging. Proceedings of the VLDB Endowment, 10(4):337–348. DOI: https://doi.org/10.14778/3025111.3025116
Balcer, P. (2017). http://pmem.io/2015/06/15/transactions.html. Acessado em: 27/05/2019.
Cooper, B. F., Silberstein, A., Tam, E., Ramakrishnan, R., and Sears, R. (2010). Benchmarking cloud serving systems with ycsb. In Proceedings of the 1st ACM symposium on Cloud computing, pages 143–154. ACM. DOI: https://doi.org/10.1145/1807128.1807152
DeBrabant, J., Pavlo, A., Tu, S., Stonebraker, M., and Zdonik, S. (2013). Anti-caching: A new approach to database management system architecture. Proceedings of the VLDB Endowment, 6(14):1942–1953. DOI: https://doi.org/10.14778/2556549.2556575
Diaconu, C., Freedman, C., Ismert, E., Larson, P.-A., Mittal, P., Stonecipher, R., Verma, N., and Zwilling, M. (2013). Hekaton: Sql server’s memory-optimized oltp engine. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, pages 1243–1254. ACM. DOI: https://doi.org/10.1145/2463676.2463710
Eldawy, A., Levandoski, J., and Larson, P.-Å. (2014). Trekking through siberia: Managing cold data in a memory-optimized database. Proceedings of the VLDB Endowment, 7(11):931–942. DOI: https://doi.org/10.14778/2732967.2732968
Faerber, F., Kemper, A., Larson, P.-Å., Levandoski, J., Neumann, T., Pavlo, A., et al. (2017). Main memory database systems. Foundations and Trends_R in Databases, 8(1-2):1–130. DOI: https://doi.org/10.1561/1900000058
Gomes, D. B. (2019). https://github.com/davibrg/nvrec_ycsb. Acessado em: 26/08/2019.
Huang, J., Schwan, K., and Qureshi, M. K. (2014). Nvram-aware logging in transaction systems. Proceedings of the VLDB Endowment, 8(4):389–400. DOI: https://doi.org/10.14778/2735496.2735502
Kimura, H. (2015). Foedus: Oltp engine for a thousand cores and nvram. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, pages 691–706. ACM. DOI: https://doi.org/10.1145/2723372.2746480
Maciejewski, M. (2017). https://pmem.io/2016/02/22/pm-emulation.html. Acessado em: 27/05/2019.
Malviya, N., Weisberg, A., Madden, S., and Stonebraker, M. (2014). Rethinking main memory oltp recovery. In 2014 IEEE 30th International Conference on Data Engineering, pages 604–615. IEEE. DOI: https://doi.org/10.1109/ICDE.2014.6816685
Mohan, C., Haderle, D., Lindsay, B., Pirahesh, H., and Schwarz, P. (1992). Aries: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems (TODS), 17(1):94–162. DOI: https://doi.org/10.1145/128765.128770
