Multi-key queries
You will recall from the last chapter that Cassandra is most efficient when querying a range of columns on disk. All our examples assumed a replication factor of 3 with QUORUM
reads and writes. We will follow the same conventions with the examples in this chapter.
With this in mind, let's make use of the authors
schema we introduced in the last chapter:
CREATE TABLE authors ( name text, year int, title text, publisher text, isbn text, PRIMARY KEY (name, year, title) );
Using this schema, let's say we want to retrieve a number of books from a list of known authors. Obviously, we could write a separate query for each author, but Cassandra also provides a familiar SQL-style syntax for specifying multiple partition keys using the IN
clause:
SELECT * FROM authors WHERE name IN ( 'Tom Clancy', 'Malcolm Gladwell', 'Dean Koontz' );
The question is: how will Cassandra fulfill this request? As we have discussed numerous times throughout this...