Может ли кто-нибудь объяснить, почему для записи с записью в журнал используется NO-FORCE?

Когда я искал в Интернете, STEAL и FORCE определяется следующим образом

FORCE или NO-FORCE: должны ли все обновления транзакции быть записаны на диск до ее фиксации?

Кроме того, мне сказали, что

Транзакция не считается подтвержденной, пока все ее записи журнала не будут записаны в стабильное хранилище.

Тогда чем WAL отличается от подхода FORCE? Я чувствую, что в обоих случаях изменения должны быть сброшены на диск при фиксации транзакции....

1 ответ

Решение

С WAL у вас есть последовательная запись в журнал. Обновления страниц в базе данных могут записываться асинхронно в записи журнала.

Принудительный подход требует, чтобы все грязные страницы в пуле буферов синхронно сбрасывались на диск с операцией фиксации. Это намного более дорогая операция и ограничивает пропускную способность.

Основной компромисс: более длительное время восстановления после сбоя с WAL по сравнению с более низкой пропускной способностью с применением силы.

Другие вопросы по тегам