NoSQL Expert
Software development skill, available on Zeplik
NoSQL Expert is a ready-to-run software development skill on Zeplik. Distributed NoSQL modeling for Cassandra and DynamoDB: query-first, single-table design, avoid hot partitions. Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer.
The NoSQL Expert skill loads automatically when your request matches it, or you can invoke it directly by typing /nosql-expert in any chat. It works with attachments, connectors, and any model that supports the task, so you get the same expert method every time without setting anything up.
What the NoSQL Expert skill can do
- Design query-first schemas for Cassandra and DynamoDB access patterns
- Detect and prevent hot partitions from low-cardinality keys
- Structure single-table designs with adjacency list patterns for pre-joined reads
- Advise on GSI, LSI, WCU/RCU, and TTL usage for DynamoDB capacity planning
Try these prompts on Zeplik
Pick a prompt to open it in the Zeplik app. If you are not signed in yet, your prompt is waiting for you the moment you do.
How the NoSQL Expert skill works
NoSQL Expert Patterns (Cassandra & DynamoDB)
Overview
This skill provides professional mental models and design patterns for distributed wide-column and key-value stores (specifically Apache Cassandra and Amazon DynamoDB).
Unlike SQL (where you model data entities), or document stores (like MongoDB), these distributed systems require you to model your queries first.
When to Use
- Designing for Scale: Moving beyond simple single-node databases to distributed clusters.
- Technology Selection: Evaluating or using Cassandra, ScyllaDB, or DynamoDB.
- Performance Tuning: Troubleshooting "hot partitions" or high latency in existing NoSQL systems.
- Microservices: Implementing "database-per-service" patterns where highly optimized reads are required.
The Mental Shift: SQL vs. Distributed NoSQL
| Feature | SQL (Relational) | Distributed NoSQL (Cassandra/DynamoDB) |
|---|---|---|
| Data modeling | Model Entities + Relationships | Model Queries (Access Patterns) |
| Joins | CPU-intensive, at read time | Pre-computed (Denormalized) at write time |
| Storage cost | Expensive (minimize duplication) | Cheap (duplicate data for read speed) |
| Consistency | ACID (Strong) | BASE (Eventual) / Tunable |
| Scalability | Vertical (Bigger machine) | Horizontal (More nodes/shards) |
The Golden Rule: In SQL, you design the data model to answer any query. In NoSQL, you design the data model to answer specific queries efficiently.
Core Design Patterns
1. Query-First Modeling (Access Patterns)
You typically cannot "add a query later" without migration or creating a new table/index.
Process:
- List all Entities (User, Order, Product).
- List all Access Patterns ("Get User by Email", "Get Orders by User sorted by Date").
- Design Table(s) specifically to serve those patterns with a single lookup.
2. The Partition Key is King
Data is distributed across physical nodes based on the Partition Key (PK).
- Goal: Even distribution of data and traffic.
- Anti-Pattern: Using a low-cardinality PK (e.g.,
status="active"orgender="m") creates Hot Partitions, limiting throughput to a single node's capacity. - Best Practice: Use high-cardinality keys (User IDs, Device IDs, Composite Keys).
3. Clustering / Sort Keys
Within a partition, data is sorted on disk by the Clustering Key (Cassandra) or Sort Key (DynamoDB).
- This allows for efficient Range Queries (e.g.,
WHERE user_id=X AND date > Y). - It effectively pre-sorts your data for specific retrieval requirements.
4. Single-Table Design (Adjacency Lists)
Primary use: DynamoDB (but concepts apply elsewhere)
Storing multiple entity types in one table to enable pre-joined reads.
| PK (Partition) | SK (Sort) | Data Fields... |
|---|---|---|
USER#123 | PROFILE | { name: "Ian", email: "..." } |
USER#123 | ORDER#998 | { total: 50.00, status: "shipped" } |
USER#123 | ORDER#999 | { total: 12.00, status: "pending" } |
- Query:
PK="USER#123" - Result: Fetches User Profile AND all Orders in one network request.
5. Denormalization & Duplication
Don't be afraid to store the same data in multiple tables to serve different query patterns.
- Table A:
users_by_id(PK: uuid) - Table B:
users_by_email(PK: email)
Trade-off: You must manage data consistency across tables (often using eventual consistency or batch writes).
Specific Guidance
Apache Cassandra / ScyllaDB
- Primary Key Structure:
((Partition Key), Clustering Columns) - No Joins, No Aggregates: Do not try to
JOINorGROUP BY. Pre-calculate aggregates in a separate counter table. - Avoid
ALLOW FILTERING: If you see this in production, your data model is wrong. It implies a full cluster scan. - Writes are Cheap: Inserts and Updates are just appends to the LSM tree. Don't worry about write volume as much as read efficiency.
- Tombstones: Deletes are expensive markers. Avoid high-velocity delete patterns (like queues) in standard tables.
AWS DynamoDB
- GSI (Global Secondary Index): Use GSIs to create alternative views of your data (e.g., "Search Orders by Date" instead of by User).
- Note: GSIs are eventually consistent.
- LSI (Local Secondary Index): Sorts data differently within the same partition. Must be created at table creation time.
- WCU / RCU: Understand capacity modes. Single-table design helps optimize consumed capacity units.
- TTL: Use Time-To-Live attributes to automatically expire old data (free delete) without creating tombstones.
Expert Checklist
Before finalizing your NoSQL schema:
- Access Pattern Coverage: Does every query pattern map to a specific table or index?
- Cardinality Check: Does the Partition Key have enough unique values to spread traffic evenly?
- Split Partition Risk: For any single partition (e.g., a single user's orders), will it grow indefinitely? (If > 10GB, you need to "shard" the partition, e.g.,
USER#123#2024-01). - Consistency Requirement: Can the application tolerate eventual consistency for this read pattern?
Common Anti-Patterns
❌ Scatter-Gather: Querying all partitions to find one item (Scan).
❌ Hot Keys: Putting all "Monday" data into one partition.
❌ Relational Modeling: Creating Author and Book tables and trying to join them in code. (Instead, embed Book summaries in Author, or duplicate Author info in Books).
How to use the NoSQL Expert skill
Sign in to Zeplik
Create a free Zeplik account or sign in. New accounts start with free credits, so you can try the NoSQL Expert skill right away.
Describe your software development task
Ask in plain language, or type /nosql-expert to invoke the skill directly. Zeplik recognizes the NoSQL Expert skill and applies its method.
Review and refine the result
Zeplik returns a clear, structured answer. Ask follow-ups in the same chat to refine it or take the next step.
Source and credit
- Author
- davila7 (D7 Class-A standalone)
- License
- MIT
Adapted from the open-source davila7/claude-code-templates project and tuned to run natively on Zeplik. View source on GitHub.
Frequently asked questions
- What is the NoSQL Expert skill?
- NoSQL Expert is a ready-to-run software development skill on Zeplik. Distributed NoSQL modeling for Cassandra and DynamoDB: query-first, single-table design, avoid hot partitions. Ask in plain language and Zeplik applies the skill's method for you inside the conversation, on whichever AI model you prefer.
- How do I use NoSQL Expert on Zeplik?
- Sign in to Zeplik and ask in plain language, or type /nosql-expert in any chat to invoke it directly. The skill applies its method and returns a result you can refine in the same conversation.
- Which AI model does the NoSQL Expert skill use?
- Any model you choose. Zeplik works across every model in one chat, so the NoSQL Expert skill runs on your preferred model for the task.
- Where does the NoSQL Expert skill come from?
- The NoSQL Expert skill is adapted from the open-source davila7/claude-code-templates project (MIT) and tuned to run natively on Zeplik. The original source is linked on this page.
- How much does the NoSQL Expert skill cost?
- Using the skill is free to start. You only spend Zeplik credits when the assistant runs, and new accounts begin with free credits.
Related software development skills
- .NET BackendBuild ASP.NET Core 8+ backends with EF Core: auth, background jobs, production API patterns
- Advanced Git WorkflowsUse for advanced Git surgery: interactive rebase, cherry-pick, bisect, reflog recovery, and history cleanup before merging. Not for parallel worktree workflows (use using-git-worktrees).
- Adversarial Code ReviewHunt for bugs in code the user shares by assuming defects exist and attacking the code through several distinct lenses, then report severity-ranked findings with evidence. Use for "review this", "what could go wrong", "bug hunt", or pre-merge scrutiny of a change. Read-only, it reports problems and does not rewrite the code. Not for style cleanup (use simplify-code) or for writing new code.
- AI Agent FrameworksUse when building multi-agent systems or agent orchestration -- LangChain/LangGraph, agent team design, task coordination, pipelines. Not for authoring a Zeplik skill (use skill-creator).
- Algolia SearchAdd Algolia search: indexing strategies, React InstantSearch, relevance tuning, search-as-you-type
- Android CI/CDAutomate Android CI/CD to Google Play: keystore, GitHub Secrets, multi-stage release workflow for RN, Flutter, native
More on Zeplik
Try NoSQL Expert on Zeplik
Every model, one chat. Bring the NoSQL Expert skill into your next conversation and let the assistant do the work.