Database / ScyllaDB Interview questions
What is a clustering key in ScyllaDB?
A clustering key is the part of the primary key that comes after the partition key and determines how rows within the same partition are sorted on disk. Where the partition key decides which node holds the data, the clustering key decides the physical order of rows inside that partition.
PRIMARY KEY (sensor_id, reading_time) -- sensor_id = partition key -- reading_time = clustering key (rows sorted by time within each sensor's partition)
Because rows are pre-sorted by clustering key, range queries like "give me readings for sensor X between two timestamps" are efficient sequential disk reads rather than random lookups. Multiple clustering columns can be declared to create a compound sort order, and the sort direction of each can be set independently with CLUSTERING ORDER BY.
More Related questions...