Contract
- Input: problem description and inputs defined by the skill body.
- Output: Markdown artifact with completed process steps.
- Side effects: none.
- Dependencies: none.
- Stop condition: all process steps executed; artifact saved with required sections.
- Risk: low.
- Boundary: produces reasoning artifact only; no system changes.
NoSQL Data Modeling
Design a NoSQL data model — document, key-value, wide-column, graph, time-series — with access pattern analysis and consistency trade-offs.
When to use
- A domain naturally fits a NoSQL store (events, social graph, time-series, cache).
- Relational schema has been over-normalised for the read/write pattern.
- Scalability requirements push past a single RDBMS instance.
Process
- Identify access patterns — reads (by key, range, full-text, graph traversal) and writes (append, upsert, batch); frequency and latency requirements.
- Choose NoSQL type:
- Document (MongoDB, Couchbase): nested JSON, flexible schema.
- Key-value (Redis, DynamoDB): simple get/put by key.
- Wide-column (Cassandra, ScyllaDB): time-series, high-write throughput.
- Graph (Neo4j, DynamoDB GSI): many-to-many, traversals.
- Time-series (InfluxDB, TimescaleDB): metric ingestion, downsampling.
- Design data layout — document structure, key design (partition + sort), column families, graph topology.
- Consistency model — strong vs eventual; how does this affect correctness of reads?
- Schema evolution — how are new fields / relationships added without downtime?
- Scalability — partition/shard key; replication factor; read replicas;