You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Design: In-Memory First, Optional Valkey Backend
1. Goals
2. Operating Modes
2.1 Backend modes (per dataset / per grid)
Each dataset (or grid) is configured with one of:
in_memoryvalkeyThere is no
automode and no mixing of backends for a single logical dataset or join.2.2 Join constraints
in_memoryorvalkey).3. Data Access Layer (DAL)
3.1 Purpose
Provide a single abstraction for grids to query data, regardless of backend.
3.2 Interface (conceptual)
queryViewport(request) → ViewportResult3.3 Backend-specific engines
InMemoryEngineValkeyEngine3.4 Explicit routing
in_memory→ callInMemoryEngine.valkey→ callValkeyEngine.4. Ingestion Architecture
4.1 Single ingestion entrypoint
Introduce an Ingestion Service that is the only writer to Valkey.
valkey.4.2 In-memory population
in_memory:valkey:4.3 Valkey optionality
valkeydatasets.5. Consumer Nodes and Scaling
5.1 Behavior
5.2 Scaling with Valkey
valkey:5.3 Scaling without Valkey
in_memory:6. Logic Migration to Valkey (Per Dataset)
For any dataset you choose to move from in-memory to Valkey:
6.1 Data modeling
6.2 Sorting
ValkeyEngine:6.3 Filtering
ValkeyEngine:6.4 Joins (one-to-many left)
ValkeyEngine:6.5 Viewport / windowing
valkey.7. Configuration and Deployment
7.1 Dataset configuration
TODO
Non-Functional Requirements (NFR) Specification
Overview
Context: High-performance data system handling 100M+ rows.
Key Constraints: 5-Second SLA, P50 = 1 Second, Ad-Hoc Sorts/Filters, One-to-Many Left Joins.
1. Performance
NFR1 — Ad-Hoc Query Latency SLA
NFR2 — Sort Performance
NFR3 — Filter Performance
NFR4 — Join Performance
NFR5 — Data Update to Viewport Latency
NFR6 — Index Update Performance
2. Scalability
NFR7 — Horizontal Scalability
NFR8 — Storage & Index Scalability
3. Reliability & Fault Tolerance
NFR9 — High Availability
NFR10 — Data Durability
4. Observability & Maintainability
NFR11 — Query Observability
NFR12 — Index & Join Health Monitoring
NFR13 — Configurability
5. Security
NFR14 — Access Control
NFR15 — Audit Logging
6. Usability
NFR16 — Perceived Performance
Beta Was this translation helpful? Give feedback.
All reactions