Abstract
In this paper we present recovery techniques for distributed main-memory databases, specifically for client-server and shared-disk architectures. We present a recovery scheme for client-server architectures which is based on shipping log records to the server, and two recovery schemes for shared-disk architectures—one based on page shipping, and the other based on broadcasting of the log of updates. The schemes offer different tradeoffs, based on factors such as update rates.
Our techniques are extensions to a distributed-memory setting of a centralized recovery scheme for main-memory databases, which has been implemented in the Dalì main-memory database system. Our centralized as well as distributed-memory recovery schemes have several attractive features—they support an explicit multi-level recovery abstraction for high concurrency, reduce disk I/O by writing only redo log records to disk during normal processing, and use per-transaction redo and undo logs to reduce contention on the system log. Further, the techniques use a fuzzy checkpointing scheme that writes only dirty pages to disk, yet minimally interferes with normal processing—all but one of our recovery schemes do not require updaters to even acquire a latch before updating a page. Our log shipping/broadcasting schemes also support concurrent updates to the same page at different sites.
Similar content being viewed by others
References
P. Bohannon, D. Lieuwen, R. Rastogi, S. Seshadri, S. Sudarshan, and A. Silberschatz. The architecture of the Dali main-memory storage manager. Multimedia Tools and Applications, 4(2):115-151, March 1997.
P. Bohannon, J. Parker, R. Rastogi, S. Seshadri, and S. Sudarshan. Distributed multi-level recovery in main-memory databases. Technical Report 112530-96-02-27-01TM, Lucent Technologies, Bell Laboratories, February 1996.
M. J. Carey, D. J. DeWitt, M. J. Franklin, N. E. Hall, M. L. McAuliffe, J. F. Naughton, D. T. Schuh, M. H. Solomon, C. K. Tan, O. G. Tsatalos, S. J. White, and M. J. Zwilling. Shoring up persistent applications. In Proceedings of ACM-SIGMOD 1994 International Conference on Management of Data, Minneapolis, Minnesota, pages 383-394, May 1994.
M. J. Carey, M. J. Franklin, and M. Zaharioudakis. Fine-grained sharing in a page server OODBMS. In Proceedings of ACM-SIGMOD 1994 International Conference on Management of Data, Minneapolis, Minnesota, pages 359-370, May 1994.
D. J. DeWitt, R. Katz, F. Olken, D. Shapiro, M. Stonebraker, and D. Wood. Implementation techniques for main memory database systems. Proc. ACM-SIGMOD 1984 Int'l Conf. on Management of Data, pages 1-8, June 1984.
M. J. Franklin, M. J. Zwilling, C. K. Tan, M. J. Carey, and D. J. DeWitt. Crash recovery in client-server EXODUS. In Proceedings of ACM-SIGMOD 1992 International Conference on Management of Data, San Diego, California, pages 165-174, June 1992.
H. Garcia-Molina and K. Salem. Main memory database systems: An overview. IEEE Transactions on Knowledge and Data Engineering, 4(6):509-516, December 1992.
Robert B. Hagmann. A crash recovery scheme for a memory-resident database system. IEEE Transactions on Computers, C-35(9):839-847, September 1986.
H.V. Jagadish, Dan Lieuwen, Rajeev Rastogi, Avi Silberschatz, and S. Sudarshan. Dali: Ahigh performance main-memory storage manager. In Procs. of the International Conf. on Very Large Databases, 1994.
H.V. Jagadish, Avi Silberschatz, and S. Sudarshan. Recovering from main-memory lapses. In Procs. of the International Conf. on Very Large Databases, 1993.
C. Lamb, G. Landis, J. Orenstein, and D. Weinreb. The objectstore database system. Communications of the ACM, 34(10), October 1991.
T. Lehman, E. J. Shekita, and L. Cabrera. An evaluation of Starburst's memory resident storage component. IEEE Transactions on Knowledge and Data Engineering, 4(6):555-566, December 1992.
D. Lomet. MLR: A recovery method for multi-level systems. In Proceedings of ACM-SIGMOD 1992 International Conference on Management of Data, San Diego, California, pages 185-194, 1992.
C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh, and P. Schwarz. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems, 17(1):94-162, March 1992.
C. Mohan and I. Narang. Recovery and coherency-control protocols for fast intersystem page transfer and fine-granularity locking in a shared disks transaction environment. In Proceedings of the Seventeenth International Conference on Very Large Databases, Barcelona, pages 193-207, September 1991.
C. Mohan and I. Narang. ARIES/CSA: a method for database recovery in client-server architectures. In Proceedings of ACM-SIGMOD 1994 International Conference on Management of Data, Minneapolis, Minnesota, pages 55-66, May 1994.
E. Rahm. Recovery concepts for data sharing systems. In Proceedings of the Twenty first International Conference on Fault-Tolerant Computing (FTCS-21), Montreal, pages 109-123, June 1991.
K. Salem and H. Garcia-Molina. System M: A transaction processing testbed for memory resident data. IEEE Transactions on Knowledge and Data Engineering, 2(1):161-172, March 1990.
K. Salem and H. Garcia-Molina. System M: A transaction processing testbed for memory resident data. IEEE Transactions on Knowledge and Data Engineering, 2(1):161-172, 1990.
G. Weikum, C. Hasse, P. Broessler, and P. Muth. Multi-level recovery. In Proceedings of the Nineth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Nashville, pages 109-123, June 1990.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Rastogi, R., Bohannon, P., Parker, J. et al. Distributed Multi-Level Recovery in Main-Memory Databases. Distributed and Parallel Databases 6, 41–71 (1998). https://doi.org/10.1023/A:1008694713931
Issue Date:
DOI: https://doi.org/10.1023/A:1008694713931