Write-Ahead Log (WAL) | Журнал транзакций

Версия 2.6 от Alexandr Fokin на 2023/02/14 14:20

Механизм, используемый хранилищами для надежного сохранения изменений данных. 
PITR (Point In Time Recovery).
Файловый лог, в который записываются все изменения данных.
В случае падения БД (перезагрузки сервера), лог используется для наката зафиксированных изменений.
Частично может быть задействован в механизмах Репликация | Replication (трансляция потока изменений на реплики) и для создания резервных копий.

Также поддерживается некоторыми InMemory хранилищами в сочетании с системой снимков.

Контрольная точка - периодическое сохранение грязных данных на диск и отчистка журнала на определенный момент времени т.к. данные гарантировано попали на диск.


PostgreSQLPostgres ProfessionalWAL в PostgreSQL: 1. Буферный кеш
https://habr.com/ru/company/postgrespro/blog/458186/
WAL в PostgreSQL: 2. Журнал предзаписи
https://habr.com/ru/company/postgrespro/blog/459250/
WAL в PostgreSQL: 4. Настройка журнала
https://habr.com/ru/company/postgrespro/blog/461523/
  Курсы DEV1 и DEV2
   
   
Файловая системы 
Синхронная режим записиПосле каждой записи БД явно вызывает File sync | FSync, что должно дать высокую вероятность того, что данные реально попали на физический носитель, а не только в промежуточные кеши подготовки записи.
Асинхронный режим записиНе делает вывозов FSync, может достаточно сильно увеличить производительность.
Но не гарантируется сохранность всех данных, коммит которых завершился успешно.

Внутренние ссылки:

Дочерние страницы:
Обратные ссылки:

Теги: