Re[7]: IB Recovery
От: Кузьменко Д.В. www.ibase.ru
Дата: 12.11.03 11:27
Оценка:
Здравствуйте, Merle, Вы писали:

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

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

как завершать транзакции, commit или rollback, в IB решает ТОЛЬКО клиентская часть. Сервер никогда не занимается самодеятельностью. Потому что в этом нет никакой необходимости. Собственно, в IB конфликтуют только транзакции, которые пытаются обновить одну и ту же запись одновременно. И даже это не является причиной для того чтобы сервер пугался и кого-то там откатывал.

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

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

напоминает.

R>>1. Смерть сервера по форсмажорным электричествам во время сборки мусора (sweep)

M>Вот здесь вот та самая оговорка про отказоустойчивость. Отказоустойчивость должна обеспечиваться и при работе всех обслуживающие механизмов, а здесь ее нет.

это достаточно редкий случай, который сейчас исправлен как баг.

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

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

неясно, что ты имеешь в виду под Recovery. Давай еще раз услышим определение, в случае каких сбоев надо этот "механизм" применять.

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


Она и приводит. Просто Romkin излишне углубился в ситуации, которые никакого отношения к версионности не имеют.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.