While discussing with people at the London C* Summit, I realized that it was not always clear for them why Cassandra requires ALLOW FILTERING for some CQL queries and not for some others. Why ALLOW FILTERING? Let’s take for example the following table: CREATE TABLE blogs (blogId int, time1 int, time2 int, author text, content text, PRIMARY KEY(blogId, time1, time2)); If you execute the following query: SELECT * FROM blogs; Cassandra will return you all the data that the table blogs contains. If you now want only the data at a specified time1, you will naturally add an equal condition on the column time1: SELECT * FROM blogs WHERE time1 = 1418306451235; In response, you will receive the following error message: Bad Request: Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query desp...