用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/arbazkhan971/godmode --skill nosql命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | nosql |
| description | NoSQL database design (Mongo, DynamoDB, etc). |
/godmode:nosql, "mongodb schema", "dynamodb design"Data model: Document|Key-Value|Wide-Column|Graph|TimeSeries
Access patterns: <list read/write patterns + frequency>
Scale: <expected documents, queries/sec>
Consistency: eventual|strong|tunable
# Check for NoSQL drivers
cat package.json 2>/dev/null | grep -iE "mongo|dynamo|neo4j"
pip list 2>/dev/null | grep -iE "pymongo|boto3|cassandra"
IF hierarchical/nested data + flexible schema: MongoDB
IF key-based access, extreme scale: DynamoDB
IF time-series writes, wide rows: Cassandra
IF relationship traversal: Neo4j
IF metrics/IoT at scale: InfluxDB/TimescaleDB
DEFAULT: Start with PostgreSQL, move to NoSQL when
a specific technical requirement demands it.
IF access patterns unknown: do NOT choose NoSQL yet. IF < 1M records and relational: PostgreSQL is better.
Embed when: read together, 1:1 or 1:few, bounded size
Reference when: independent, large, shared across docs
IF subdocument > 16MB: must reference (Mongo limit)
IF array grows unbounded: use bucketing pattern
// Compound index (covers multiple query patterns)
db.orders.createIndex({ customer_id: 1, created_at: -1 })
// Partial index (smaller, faster)
db.orders.createIndex(
{ status: 1 }, { partialFilterExpression: { active: true } }
)
Design for access patterns FIRST, entity model second.
PK: high cardinality, even distribution
SK: enables range queries within partition
GSI: different PK+SK for alternate access patterns
IF partition > 10GB: add write sharding. IF PK cardinality < 100 on high-volume: use composite. IF hot partition > 30% traffic: redistribute.
One table per query (no JOINs).
Target: < 100MB per partition, < 100K rows.
Use time-bucketed keys for time-series data.
Nodes = entities (nouns), Relationships = verbs
IF "find connections" or "shortest path": graph DB
runs 100-1000x faster than SQL JOINs.
IF already using PostgreSQL: TimescaleDB extension
IF high-cardinality pure metrics: InfluxDB
Tags = indexed metadata (strings), Fields = values
Append .godmode/nosql-results.tsv:
timestamp database action collection index_count status
KEEP if: tests pass AND quality improved AND no regression.
DISCARD if: tests fail OR performance regressed.
STOP when FIRST of:
- All access patterns covered without scans
- Partition sizes within limits
- User requests stop
On failure: git reset --hard HEAD~1. Never pause.
| Failure | Action |
|---|---|
| Query degrades with growth | Check explain(), add indexes |
| Data inconsistency | Check write concern, use majority |
| Connection exhaustion | Increase pool, check leaks |
基于 SOC 职业分类