Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Checkpoint Operations

Checkpoint — это процесс сброса грязных страниц из памяти на диск и синхронизации WAL, обеспечивающий долговечность данных и ускоряющий восстановление после сбоев.

CheckpointWorker

Процесс чекпоинта управляется фоновым воркером CheckpointWorker.

New in 0.6.4.18: CheckpointWorker has been refactored. The checkpoint logic is now consolidated in storage::CheckpointWorker and exposed via the CheckpointEngineOps trait. The server-side entry point is a thin wrapper. Legacy behaviour is preserved via run_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_totalcounterЧисло overlay-слотов, материализованных в heap.
angarabase_overlay_flush_on_checkpoint_tables_totalcounterЧисло таблиц, для которых выполнен 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).