AgentSkillsCN

nosql-expert

借助此技能,可直接在Claude Code中查询Google NotebookLM笔记,获取源自Gemini的知识渊源与权威引用支持的答案。通过浏览器自动化、库管理与持久化认证,大幅降低幻觉风险,仅以文档内容作答。

SKILL.md
--- frontmatter
version: 4.1.0-fractal
name: nosql-expert
description: "Expert guidance for distributed NoSQL databases (Cassandra, DynamoDB). Focuses on mental models, query-first modeling, single-table design, and avoiding hot partitions in high-scale systems."

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

FeatureSQL (Relational)Distributed NoSQL (Cassandra/DynamoDB)
Data modelingModel Entities + RelationshipsModel Queries (Access Patterns)
JoinsCPU-intensive, at read timePre-computed (Denormalized) at write time
Storage costExpensive (minimize duplication)Cheap (duplicate data for read speed)
ConsistencyACID (Strong)BASE (Eventual) / Tunable
ScalabilityVertical (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

🧠 Knowledge Modules (Fractal Skills)

1. 1. Query-First Modeling (Access Patterns)

2. 2. The Partition Key is King

3. 3. Clustering / Sort Keys

4. 4. Single-Table Design (Adjacency Lists)

5. 5. Denormalization & Duplication

6. Apache Cassandra / ScyllaDB

7. AWS DynamoDB