Re[6]: IB Recovery
От: Merle Австрия http://rsdn.ru
Дата: 12.11.03 11:18
Оценка:
Здравствуйте, Romkin, Вы писали:

R>Гарантия восстановления данных в IB есть, и очень быстрая.

Ну, согласен, с некоторыми оговорками.

R>В случае сбоя сервера при следующем подсоединении к БД он просто проходит и помечает страницы с неподтвержденными транзакциями как пустые, на чем все и заканчивается.

Гуд, я так и написал, тут все очевидно. Просто и "журнал" и данные физически в одном месте. Я "журнал" намеренно беру в кавычки, так как схема работы очень напоминает Undo-журнал "в классическом понимании"

R>А вот менеджера транзакций в понимании блокировочника там нет,

Там нет не менеджера транзакций, а менеджера блокировок. А менеджер транзакций там в полне себе есть. Возможно он называется по другому, но это тот самый механизм, который определяет, что вот эта вот транзакция нарвалась на вот эту вот и ее надо откатить, по бырому, чтобы не отсвечивала.
Это не обязательно остдельный сервер или отдельная часть ядра — это просто специальное название весьма конкретной функциональности.

R>журнала также нет, все гораздо проще — есть страницы, и есть версии записей.

Да. Нет журнала, как отдельного файла или механизма, но схема работы с данными действительно напоминает undo-журнал.

R>Сбой в структуре может произойти в следующих случаях:

R>1. Смерть сервера по форсмажорным электричествам во время сборки мусора (sweep)
Вот здесь вот та самая оговорка про отказоустойчивость. Отказоустойчивость должна обеспечиваться и при работе всех обслуживающие механизмов, а здесь ее нет.

R>2. Отключение forced writes — сервер не знает, данные в кеше системы или уже на диске

Естественно, тут никакой журнал не спасет.

R>3. Некорректные изменения метаданных — во время работы и тд.

Вот это тоже непонятно....

R>4. ... Ну еще несколько причин, не таких основных.

В том-то и дело, что при полноценном Recovery никаких причин не должно быть в принципе.

Единственная допускаемая возможность невосстановимого сбоя — это случай физического повреждения носителя. Если же повреждения не произошло, то база обязана сама себя привести в корректное состояние без посторонней помощи.
Мы уже победили, просто это еще не так заметно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.