put rest and sse to acceptance criteria. revise components. add system flows diagram

This commit is contained in:
Oleksandr Bezdieniezhnykh
2025-11-30 01:02:07 +02:00
parent ef75cc5877
commit 1082316660
17 changed files with 1906 additions and 434 deletions
@@ -130,6 +130,21 @@ class IFlightDatabase(ABC):
- Image metadata storage
- Query optimization for large datasets
### Design Decision: Denormalization
The schema uses strategic denormalization to optimize for the most common access patterns:
**Denormalized Fields**:
- `frame_results` stores `gps_lat`, `gps_lon` directly (not as foreign key to waypoints)
- `flight_state` duplicates `frames_processed` (could be computed from frame_results)
- `chunks.frames` stored as JSONB array (not normalized into separate frame_chunk mapping table)
**Rationale**:
- Read-heavy workload: Frame results are read 100x more than written
- Avoids JOINs in critical path (per-frame processing)
- Simplifies chunk lifecycle (all chunk data in single row)
- Acceptable trade-off: Slightly increased storage, significantly faster reads
---
## Flight Operations