Этапы 26–30: concurrency, CBO, GC жизненного цикла #3

Closed
opened 2026-10-19 16:00:26 +00:00 by Naizek · 0 comments
Owner

Цель (выполнена)

Сплит wait/hold Mutex, snapshot-чтения без глобального lock (read ×3–5, p95 ↓100×+), type-индекс, CBO с ANALYZE, snapshot-aware GC.

Чек-лист

  • Этап 26: performance audit — только замеры (фазы parse/plan/fetch, WAL/flush/checkpoint/index)
  • Этап 27: type-индекс (sql_scan ×5, Eq(name) ×292), прямые агрегаты планировщика
  • Этап 28: snapshot-aware GC (collect_garbage, safe-point, строгая OutOfRetention), crash/fuzz-доказательства
  • Этап 29: snapshot-чтения O(1)-захват, шардированный HotState, слоты эпох (docs/concurrency-29.md)
  • Этап 30: CBO — статистика, кардинальность, cost-модель, кандидаты, EXPLAIN cost/rows/candidates (флипы с выигрышем до 3.3×; docs/cbo-30-design.md, docs/cbo-30-result.md)

Подтверждение

Проверки: cargo test --workspace (683 passed / 0 failed), дифференциал rule-vs-CBO чист, clippy -D warnings чисто.

## Цель (выполнена) Сплит wait/hold Mutex, snapshot-чтения без глобального lock (read ×3–5, p95 ↓100×+), type-индекс, CBO с `ANALYZE`, snapshot-aware GC. ## Чек-лист - [x] Этап 26: performance audit — только замеры (фазы parse/plan/fetch, WAL/flush/checkpoint/index) - [x] Этап 27: type-индекс (`sql_scan` ×5, `Eq(name)` ×292), прямые агрегаты планировщика - [x] Этап 28: snapshot-aware GC (`collect_garbage`, safe-point, строгая `OutOfRetention`), crash/fuzz-доказательства - [x] Этап 29: snapshot-чтения O(1)-захват, шардированный HotState, слоты эпох (`docs/concurrency-29.md`) - [x] Этап 30: CBO — статистика, кардинальность, cost-модель, кандидаты, `EXPLAIN cost/rows/candidates` (флипы с выигрышем до 3.3×; `docs/cbo-30-design.md`, `docs/cbo-30-result.md`) ## Подтверждение Проверки: `cargo test --workspace` (683 passed / 0 failed), дифференциал rule-vs-CBO чист, `clippy -D warnings` чисто.
Naizek 2026-10-19 16:00:26 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LumeSoftWare/LumeDB#3
No description provided.