From scylladb
Guides ScyllaDB CQL data modeling with query-first design, covering partition keys, clustering columns, anti-patterns like ALLOW FILTERING, and schema optimization for performance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/scylladb:scylladb-data-modelingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
CQL data modeling patterns and anti-patterns for ScyllaDB. Bad schema is the root cause of most ScyllaDB performance issues — no amount of cluster scaling can fix a fundamentally wrong data model.
CQL data modeling patterns and anti-patterns for ScyllaDB. Bad schema is the root cause of most ScyllaDB performance issues — no amount of cluster scaling can fix a fundamentally wrong data model.
Reference these guidelines when:
ALLOW FILTERING in queries or code reviews"Start from the queries, not from the entities."
This is ScyllaDB's core data modeling philosophy. Unlike relational databases where you normalize entities and then write queries against them, in ScyllaDB you:
SELECT, UPDATE, and DELETE your application will runIn ScyllaDB, the partition key determines which node holds the data and the clustering columns determine the sort order within that partition. The primary key IS your access pattern.
ALLOW FILTERING forces a full-scan. Consult this reference whenever you see it in a query, or when a query does not include the full partition key.PRIMARY KEY ((partition_key_col1, partition_key_col2), clustering_col1, clustering_col2)
|___________________________________| |__________________________________|
Partition key Clustering columns
(determines node/shard) (determines sort order within
the partition)
WHERE clause — queries that don't specify the full partition key require ALLOW FILTERING (a full-scan) or a secondary indexASC by default, configurable with WITH CLUSTERING ORDER BYEach reference file listed above contains detailed explanations and CQL examples. Use the descriptions in the Quick Reference to identify which files are relevant to your current task.
Each reference file contains:
| Concept | SQL | MongoDB | ScyllaDB |
|---|---|---|---|
| Schema design | Entity-first (normalize) | Document-first (embed) | Query-first (denormalize per query) |
| Data unit | Row in a table | Document in a collection | Row in a partition |
| Joins | JOIN clause | $lookup aggregation | Not supported — denormalize instead |
| Flexible schema | No (strict DDL) | Yes (schema-optional) | No (strict CQL DDL) |
| Index required for queries | Often optional | Recommended | Partition key required in every query |
| Unique constraint | UNIQUE | unique: true index | Primary key only |
| Transactions | Full ACID | Multi-document ACID | Lightweight Transactions (LWT) for single-partition linearizable ops |
Offers UI/UX design guidance for web and mobile with 50+ styles, 161 color palettes, 57 font pairings, and 99 UX guidelines across 10 stacks. Use for designing pages, components, color systems, or reviewing UI code.
Mines projects and conversations into a searchable memory palace. Activates on queries about MemPalace, memory palace, mining, searching, palace setup, wings, rooms, drawers, or recalling past work.
npx claudepluginhub scylladb/agent-skills --plugin scylladb