На выходных разбирался с WAL (Write-Ahead Log) в PostgreSQL.
На первый взгляд идея кажется простой: сначала записать изменения в журнал, а уже потом применять их к данным на диске. Но чем глубже копаешь, тем больше деталей всплывает.
За WAL стоят буферы, контрольные точки (checkpoints), фоновая запись (background writer), LSN у страниц, процессы восстановления после сбоев и ещё много механизмов, которые работают вместе.
Ниже — сильно упрощённая схема, но она помогла мне лучше понять общую картину и то, как PostgreSQL обеспечивает надёжность данных.
Post #1858
1.58K

- 👍 1