mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-23 01:56:36 +00:00
put rest and sse to acceptance criteria. revise components. add system flows diagram
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user