Технология восстановления Redo
Мы исследовали технологию, в которой используется новая технология восстановления баз данных redo [LD95] для обеспечения приложениям возможности пережить системные крахи, т.е. обеспечения восстановления состояния приложения наряду с восстановлением состояния базы данных [L97, L98]. Это позволяет приложениям благополучно поддерживать состояние между несколькими транзакциями. Хотя формы устойчивости программ не новы, требовались высокие расходы на журнализацию и установление контрольных точек для реализации устойчивости. Методы, разработанные в проекте Phoenix, существенно сокращают эти расходы на выполнение приложений за счет возможности логической журнализации, что уменьшает расходы на журнализацию. В этих методах применяются механизмы системы баз данных управления кэшированием и восстановления. Хотя остаются дополнительные системные расходы на поддержку устойчивости приложений, они гораздо меньше, чем раньше. Проект Phoenix продолжает развивать тенденцию к расширению системных ресурсов для сбережения более дорогих и более подверженных ошибкам человеческих ресурсов.
Поскольку в этой работе используется механизм восстановления системы баз данных, в нашем подходе требуется, чтобы система баз данных "обволакивала" приложение для сохранения его взаимодействий с другими компонентами системы и журнализовала изменения его состояния. Тем самым, мы фокусируемся на приложениях баз данных, в особенности тех, которые близки к системе баз данных. Допускаются простые надежные приложения, такие как хранимые процедуры базы данных.
При дальнейшем расширении могут также обеспечиваться надежные клиент-серверные приложения баз данных [LW98]. Дальнейшее развитие этих методов должно сделать возможным сокрытие системных сбоев путем включения подкомпонентов приложения из компонентов более высокого уровня в более распределенную среду, такую как распределенная среда обработки транзакций или потоков работ.