SKILL.md
NoSQL Database Design
Table of Contents
- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)
Overview
Design scalable NoSQL schemas for MongoDB (document) and DynamoDB (key-value). Covers data modeling patterns, denormalization strategies, and query optimization for NoSQL systems.
When to Use
- MongoDB collection design
- DynamoDB table and index design
- Document structure modeling
- Embedding vs. referencing decisions
- Query pattern optimization
- NoSQL indexing strategies
- Data denormalization planning
Quick Start
Minimal working example:
// Single document with embedded arrays
db.createCollection("users");
db.users.insertOne({
_id: ObjectId("..."),
email: "john@example.com",
name: "John Doe",
createdAt: new Date(),
// Embedded address
address: {
street: "123 Main St",
city: "New York",
state: "NY",
zipCode: "10001",
},
// Embedded array of items
orders: [
{
orderId: ObjectId("..."),
date: new Date(),
total: 149.99,
},
{
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
Guide
Contents
Document Structure Design
Indexing in MongoDB
Schema Validation
Table Structure
Global Secondary Indexes (GSI)
Global Secondary Indexes (GSI)
DynamoDB Item Operations
Best Practices
✅ DO
- Follow established patterns and conventions
- Write clean, maintainable code
- Add appropriate documentation
- Test thoroughly before deploying
❌ DON'T
- Skip testing or validation
- Ignore error handling
- Hard-code configuration values