Write-ahead logging (WAL) — это стратегия, при которой изменения в базе данных сначала записываются в журнал, а затем применяются к реальным файлам данных. 23
Процесс работы WAL в системах управления базами данных можно описать так: 1
- Операции записи. 1 Вместо записи непосредственно в основной файл базы данных изменения записываются в отдельный WAL-файл. 1
- Проверка точки. 14 Когда WAL-файл достигает определённого размера (по умолчанию — 1000 страниц), изменения из WAL-файла объединяются с основным файлом базы данных в процессе, называемом «проверкой точки». 1
- Операции чтения. 1 Пользователи продолжают получать доступ к основному файлу базы данных, а изменения накапливаются в WAL-файле с минимальным снижением производительности. 1
Некоторые преимущества использования WAL:
- Конкурентоспособность. 4 В режиме WAL читатели не блокируют писателей и наоборот, что повышает пропускную способность для многопользовательских сред. 4
- Производительность. 4 Поскольку WAL использует журнал только для добавления, операции записи могут быть быстрее при определённых нагрузках. 4
- Надёжность. 4 Немедленное ведение журнала транзакций гарантирует, что в случае сбоя совершённые транзакции можно быстро восстановить из WAL-файла. 4