Multikey queries
You will recall from the previous chapter that Cassandra is most efficient when querying a range of columns on disk. All our examples assumed a replication factor of three 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 previous 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 can write a separate query for each author, but Cassandra also provides a familiar SQL-style syntax to specify 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 book, the system will hash...