Checkpoint Operations
Checkpoint — это процесс сброса грязных страниц из памяти на диск и синхронизации WAL, обеспечивающий долговечность данных и ускоряющий восстановление после сбоев.
CheckpointWorker
Процесс чекпоинта управляется фоновым воркером CheckpointWorker.
New in 0.6.4.18: CheckpointWorker has been refactored. The checkpoint logic is now consolidated in
storage::CheckpointWorkerand exposed via theCheckpointEngineOpstrait. The server-side entry point is a thin wrapper. Legacy behaviour is preserved viarun_legacy()and activated automatically for heap-primary tables.
Настройка
Параметры чекпоинта настраиваются в angarabase.toml в секции [storage.checkpoint].
Параллельный checkpoint (RM-0.6.6.8)
В версии RM-0.6.6.8 была реализована поддержка параллельного выполнения чекпоинтов для нескольких баз данных. Ранее чекпоинты выполнялись последовательно в одном цикле, что могло приводить к задержкам при большом количестве активных БД.
- Новый knob:
ANGARABASE_CHECKPOINT_MAX_PARALLEL_DBS(default: 4, range: 1-32) - Config key:
checkpoint_max_parallel_dbs - Описание: Управляет числом одновременно выполняемых per-DB чекпоинтов. Рекомендуется увеличивать при большом количестве активных баз данных (например, N_дб > 10).
- Новая метрика:
angarabase_checkpoint_parallel_dbs_active(gauge) — показывает текущее количество баз данных, для которых выполняется чекпоинт в данный момент.
Метрики overlay→heap flush (RM-0.6.6.13)
В рамках RM-0.6.6.13 добавлены метрики для отслеживания процесса материализации данных из overlay-слоев в HeapStore во время чекпоинта или корректного завершения работы (graceful shutdown).
| Метрика | Тип | Описание |
|---|---|---|
angarabase_overlay_flush_on_checkpoint_slots_total | counter | Число overlay-слотов, материализованных в heap. |
angarabase_overlay_flush_on_checkpoint_tables_total | counter | Число таблиц, для которых выполнен overlay flush. |
PromQL — интенсивность сброса overlay (слотов/сек):
rate(angarabase_overlay_flush_on_checkpoint_slots_total[5m])
PromQL — интенсивность сброса overlay (таблиц/сек):
rate(angarabase_overlay_flush_on_checkpoint_tables_total[5m])
Note: Данные метрики инкрементируются в фазе
flush_pending_overlay_to_heapпри выполнении чекпоинта и во время финального сброса данных при graceful shutdown (Phase 3.5).