Update README.md
This commit is contained in:
24
README.md
24
README.md
@@ -402,23 +402,25 @@ futriix:~> drop index employees dept_age_idx
|
|||||||
|
|
||||||
## Транзакции
|
## Транзакции
|
||||||
|
|
||||||
В субд **futriix** реализована полноценная поддержка ACID-транзакций с MVCC (Multi-Version Concurrency Control) и WAL (Write-Ahead Logging). Журнал WAL по умолчанию хранится в файле **futriix.wal**, находящимся в каталоге **futriix**. Доступны команды startSession(), startTransaction(), commitTransaction(), abortTransaction() с восстановлением после сбоев через журнал предзаписи.
|
В субд **futriix** реализована полноценная поддержка ACID-транзакций с MVCC (Multi-Version Concurrency Control) и WAL (Write-Ahead Logging). Журнал WAL по умолчанию хранится в файле **futriix.wal**, находящимся в каталоге **futriix**.
|
||||||
|
Доступны команды startSession(), startTransaction(), commitTransaction(), abortTransaction() с восстановлением после сбоев через журнал предзаписи.
|
||||||
|
|
||||||
WAL- это журнал предзаписи транзакций, который в субд **futriix** выполняет следующие действия:
|
WAL- это журнал предзаписи транзакций, который в субд **futriix** выполняет следующие действия:
|
||||||
|
|
||||||
* Хранит все операции транзакций до их фиксации (INSERT, UPDATE, DELETE)
|
1. Хранит все операции транзакций до их фиксации (INSERT, UPDATE, DELETE)
|
||||||
* Записывает каждое изменение последовательно с LSN (Log Sequence Number)
|
2. Записывает каждое изменение последовательно с LSN (Log Sequence Number)
|
||||||
* Используется для восстановления после сбоя через recoverFromWAL()
|
3. Используется для восстановления после сбоя через recoverFromWAL()
|
||||||
* Формат: бинарный с CRC-контролем, размером записи и типом (Transaction/Checkpoint)
|
4. Формат: бинарный с CRC-контролем, размером записи и типом (Transaction/Checkpoint)
|
||||||
* Расположение: futriis.wal (один файл)
|
5. Расположение: /futriix/futriix.wal (один файл)
|
||||||
|
|
||||||
Кроме того существуют так называемые **Периодические снимки состояния** журнала предзаписи, которые выполняют следующие функции:
|
Кроме того существуют так называемые **Периодические снимки состояния** журнала предзаписи, которые выполняют следующие функции:
|
||||||
|
|
||||||
* Фиксируют состояние всех активных транзакций на момент создания
|
1. Фиксируют состояние всех активных транзакций на момент создания
|
||||||
* Создаются автоматически каждые 5 минут (300 секунд)
|
2. Создаются автоматически каждые 5 минут (300 секунд)
|
||||||
* Именуются по маске: futriis.wal.checkpoint.{timestamp}
|
3. Именуются по маске: futriis.wal.checkpoint.{timestamp}
|
||||||
* Хранят сжатое состояние: последний LSN + активные транзакции
|
4. Хранят сжатое состояние: последний LSN + активные транзакции
|
||||||
* Автоматически очищаются: остаётся только 5 последних чекпоинтов
|
5. Автоматически очищаются: остаётся только 5 последних чекпоинтов
|
||||||
|
6. Расположение: /futriix/wal.checkpoint.wal (несколько файлов файл)
|
||||||
|
|
||||||
Подводя итог, хочется отметить следующее: журнал предзаписи транзакций и периодические снимки состояния работают следующим образом:
|
Подводя итог, хочется отметить следующее: журнал предзаписи транзакций и периодические снимки состояния работают следующим образом:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user