# Исходный код вики Write-Ahead Log (WAL) | Журнал транзакций

Редактировал(а) Alexandr Fokin 2023/12/16 14:13

Последние авторы

author | version | line-number | content
--- | --- | --- | ---
|  | 1 | Механизм, используемый хранилищами для надежного сохранения изменений данных.
|  | 2 | PITR (Point In Time Recovery).
|  | 3 | Файловый лог, в который последовательно записываются все изменения данных.
|  | 4 | В случае падения БД (перезагрузки сервера), лог используется для наката зафиксированных изменений.
|  | 5 | Также может быть задействован в механизмах [[Репликация | Replication>>Разработка.Базы данных.Механизмы.Кластер.Репликация | Replication.WebHome]] (трансляция потока изменений на реплики) и для создания резервных копий.
|  | 6 | Контрольная точка - периодическое сохранение грязных данных на диск и отчистка журнала на определенный момент времени т.к. данные гарантировано надежно сохранены.
|  | 7 |
|  | 8 | Поддерживается некоторыми InMemory хранилищами в сочетании с системой снимков.
|  | 9 |
|  | 10 | ----
|  | 11 |
|  | 12 | |(% colspan="1" rowspan="2" style="width:174px" %)[[PostgreSQL>>doc:Разработка.Базы данных.SQL.PostgreSQL.WebHome]]|(% colspan="1" rowspan="2" style="width:212px" %)Postgres Professional|(% style="width:1154px" %)(((
|  | 13 | WAL в PostgreSQL: 1. Буферный кеш
|  | 14 | [[https:~~/~~/habr.com/ru/company/postgrespro/blog/458186/>>https://habr.com/ru/company/postgrespro/blog/458186/]]
|  | 15 |
|  | 16 | WAL в PostgreSQL: 2. Журнал предзаписи
|  | 17 | [[https:~~/~~/habr.com/ru/company/postgrespro/blog/459250/>>https://habr.com/ru/company/postgrespro/blog/459250/]]
|  | 18 |
|  | 19 | WAL в PostgreSQL: 4. Настройка журнала
|  | 20 | [[https:~~/~~/habr.com/ru/company/postgrespro/blog/461523/>>https://habr.com/ru/company/postgrespro/blog/461523/]]
|  | 21 | )))
|  | 22 | |(% style="width:1154px" %)Курсы DEV1 и DEV2
|  | 23 | |(% style="width:174px" %) |(% style="width:212px" %) |(% style="width:1154px" %)
|  | 24 | |(% style="width:174px" %)Файловая системы|(% style="width:212px" %) |(% style="width:1154px" %)(((
|  | 25 | |(% style="width:198px" %)Синхронный режим записи|(% style="width:902px" %)После каждой записи БД явно вызывает [[File sync ~~| FSync>>Хостинг.Операционные системы.Механизмы.File sync | FSync.WebHome]], что должно дать высокую вероятность того, что данные реально попали на физический носитель, а не только в промежуточные кеши подготовки записи.
|  | 26 | |(% style="width:198px" %)Асинхронный режим записи|(% style="width:902px" %)Не делает вывозов FSync, может достаточно сильно увеличить производительность.
|  | 27 | Но не гарантируется сохранность всех данных, коммит которых завершился успешно.
|  | 28 | )))
|  | 29 |
|  | 30 | [[Event sourcing>>doc:Архитектура и модели.Группа\. Архитектурные подходы.Event sourcing.WebHome]]
|  | 31 |
|  | 32 | ----
|  | 33 |
|  | 34 | ==== Внутренние ссылки: ====
|  | 35 |
|  | 36 | ====== Дочерние страницы: ======
|  | 37 |
|  | 38 | {{children/}}
|  | 39 |
|  | 40 | ====== Обратные ссылки: ======
|  | 41 |
|  | 42 | {{velocity}}
|  | 43 | #set ($links = $doc.getBacklinks())
|  | 44 | #if ($links.size() > 0)
|  | 45 | #foreach ($docname in $links)
|  | 46 | #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
|  | 47 | * [[$escapetool.xml($rdoc.fullName)]]
|  | 48 | #end
|  | 49 | #else
|  | 50 | No back links for this page!
|  | 51 | #end
|  | 52 | {{/velocity}}
|  | 53 |
|  | 54 | ----

## Приложения