Main Memory Database Instant Recovery
Resumo
Main Memory Databases (MMDBs) technology handles the primary database in Random Access Memory (RAM) to provide high throughput and low latency. However, volatile memory makes MMDBs much more sensitive to system failures. The contents of the database are lost in these failures. As a result, systems may be unavailable for a long time until the database recovery process has been finished. Therefore, novel recovery techniques are needed to repair crashed MMDBs as quickly as possible. This thesis presents MM-DIRECT, a recovery technique that enables MMDBs to schedule transactions immediately after the system startup. The approach also implements a tuple-level consistent checkpoint to reduce the recovery time. To validate the proposed approach, experiments were performed in a prototype implemented on the Redis database. The results show that the proposed instant recovery technique effectively provides high transaction throughput rates even during the recovery process and normal database processing.
Referências
Faerber, F., Kemper, A., Larson, P.-Å., Levandoski, J., Neumann, T., Pavlo, A., et al. (2017). Main memory database systems. Foundations and Trends in Databases.
Färber, F., Cha, S. K., Primsch, J., Bornhövd, C., Sigg, S., and Lehner, W. (2012). Sap hana database: data management for modern business applications. ACM Sigmod Record.
Funke, F., Kemper, A., Mühlbauer, T., Neumann, T., and Leis, V. (2014). Hyper beyond software: Exploiting modern hardware for main-memory database systems. Datenbank-Spektrum.
Lee, L., Xie, S., Ma, Y., and Chen, S. (2022). Index checkpoints for instant recovery in in-memory database systems. Proc. VLDB Endow., 15(8):1671–1683.
Magalhães, A. (2021). Main memory databases instant recovery. In Proceedings of the VLDB PhD Workshop.
Magalhães, A. (2022). Main memory database instant recovery. PhD thesis, Federal University of Ceara, Brazil.
Magalhães, A., Brayner, A., and Monteiro, J. M. (2022). Main memory database recovery strategies. In Anais Estendidos do XXXVII Simpósio Brasileiro de Bancos de Dados, pages 175–180. SBC.
Magalhaes, A., Brayner, A., and Monteiro, J. M. (2023). Main memory database recovery strategies. In SIGMOD/PODS ’23: Companion of the 2023 International Conference on Management of Data, pages 31–35.
Magalhães, A., Monteiro, J. M., and Brayner, A. (2018a). Gerenciamento e processamento de big data com bancos de dados em memória. In I Jornada latino-americana de atualização em informática , JOLAI 2018, São Paulo, SP, Brazil, 2018.
Magalhães, A., Monteiro, J. M., and Brayner, A. (2018b). Sistemas de gerenciamento de banco de dados em memória. In XIV Simpósio Brasileiro de Sistemas de Informação , SBSI 2018, Caxias do Sul, RS, Brazil, 2018.
Magalhães, A., Monteiro, J. M., and Brayner, A. (2021a). Main memory database recovery: A survey. ACM Computing Surveys (CSUR).
Magalhães, A., Monteiro, J. M., Brayner, A., and Moraes, G. (2021b). Indexed log file: Towards main memory database instant recovery. In EDBT.
Memtier Benchmark (2020). Github - redislabs. https://github.com/RedisLabs/memtier_benchmark. Accessed: August 26, 2020.
Olson, M. A., Bostic, K., and Seltzer, M. I. (1999). Berkeley db. In USENIX Annual Technical Conference, FREENIX Track, pages 183–191.
Sauer, C., Graefe, G., and Härder, T. (2018). Fineline: log-structured transactional storage and recovery. Proceedings of the VLDB Endowment.
Stonebraker, M. and Weisberg, A. (2013). The voltdb main memory dbms. IEEE Data Eng. Bull.
Wu, Y., Guo, W., Chan, C.-Y., and Tan, K.-L. (2017). Fast failure recovery for main-memory dbmss on multicores. In Proceedings of the 2017 ACM International Conference on Management of Data.
Yao, C., Agrawal, D., Chen, G., Ooi, B. C., and Wu, S. (2016). Adaptive logging: Optimizing logging and recovery costs in distributed in-memory databases. In Proceedings of the 2016 International Conference on Management of Data.
Zheng, W., Tu, S., Kohler, E., and Liskov, B. (2014). Fast databases with fast durability and recovery through multicore parallelism. In 11th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 14).