diff --git a/README.md b/README.md index 8627583..b68111d 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ futriix:~> drop index employees dept_age_idx ## Транзакции -В субд **futriix** реализована полноценная поддержка ACID-транзакций с MVCC (Multi-Version Concurrency Control) и WAL (Write-Ahead Logging). Журнал WAL по умолчанию хранится в файле **futriix.wal**, находящимся в каталоге **futriix**. +В субд **futriix** для обеспечения надёжности (durability) и быстрого восстановления бд из резевной копии, реализована полноценная поддержка WAL (Write-Ahead Logging). Журнал WAL по умолчанию хранится в файле **futriix.wal**, находящимся в каталоге **futriix**, а также поддержка ACID-транзакций с MVCC (Multi-Version Concurrency Control). Доступны команды startSession(), startTransaction(), commitTransaction(), abortTransaction() с восстановлением после сбоев через журнал предзаписи. > [!TIP] @@ -422,12 +422,10 @@ futriix:~> drop index employees dept_age_idx > 4. Хранят сжатое состояние: последний LSN + активные транзакции > 5. Автоматически очищаются: остаётся только 5 последних чекпоинтов > 6. Расположение: /futriix/wal.checkpoint.wal (несколько файлов файл) - > **Подводя итог, хочется отметить следующее: журнал предзаписи транзакций и периодические снимки состояния работают следующим образом:** > 1. Штатная работа: WAL пишет каждую транзакцию > 2. Периодически: создаётся checkpoint (снимок активных транзакций) > 3. При сбое: восстанавливаемся с последнего checkpoint + доигрываем операции из WAL -> Это стандартный подход для обеспечения durability и fast recovery в системах с WAL. ```sh # Начало сессии