Write-Ahead Logging (WAL) — это техника обеспечения надёжности, при которой каждое изменение сначала записывается в последовательный лог-файл, а затем применяется к самой базе данных. Основное правило простое: ничего не записывается в БД, пока запись в логе не будет безопасно сохранена на диск.
Транзакция → Запись в WAL лог → Сброс лога на диск → Применение изменения к БД
Надёжность гарантируется потому, что даже если система упадёт во время записи, закоммиченные изменения уже зафиксированы в логе. База данных может воспроизвести лог при перезагрузке, чтобы вернуть данные в согласованное, закоммиченное состояние — гарантируя, что ни одна закоммиченная транзакция не будет потеряна.
WAL — это фундаментальная концепция, используемая в крупных системах:
redo logWAL критически важен, потому что он разделяет момент коммита данных и момент их физической записи на диск, делая базы данных одновременно устойчивыми к сбоям и высоконадёжными в условиях отказов.
В write-ahead logging запись лога должна быть записана на диск перед тем, как любые изменения будут применены к страницам базы данных, что гарантирует, что коммитнутые транзакции никогда не будут потеряны даже при падении системы.
Новый — ещё не проверен сообществом
Вы