Is High-Cardinality Partition Key a Problem in ScyllaDB?

Installation details
#ScyllaDB version: 5.2
os (RHEL/CentOS/Ubuntu/AWS AMI): CentOS

I’m designing a ScyllaDB table where each partition is tied to a unique job_id, which is a UUID. Each job typically inserts a small number of rows — sometimes just one or two. Over time, the number of jobs may grow to several million, resulting in a large number of small partitions.

My current schema looks like this:

PRIMARY KEY ((job_id), item_id, ...other info)

Is it acceptable in ScyllaDB to have millions of small partitions with high-cardinality UUIDs? Or Am I misunderstanding it? Since I read it’s very adviced to focus on high cardinality for partition keys or secondary indexes

In ScyllaDB, it’s absolutely acceptable (and often desirable) to have millions of small, high-cardinality partitions, especially when:

  • Each job_id is unique.
  • Each partition contains few rows.
  • Queries are typically by partition key (job_id) — e.g., SELECT * FROM table WHERE job_id = ?.
1 Like