How did FaceBook use Cassandra for inbox search, if Caasandra has no search capabilities? How did FaceBook use Cassandra for inbox search, if Caasandra has no search capabilities? elasticsearch elasticsearch

How did FaceBook use Cassandra for inbox search, if Caasandra has no search capabilities?


The basic idea is that you use the user id as the partition key, and then all the information you need for an inbox search will be clustered as rows in that partition. You can then set up multiple tables like this with different types of data clustered in the partition to support different types of searches. Since Cassandra can access a partition in essentially constant time even with millions of users, the system can scale and remain fast as you add nodes and users.

You can read a description of the initial system here in section 6.1 Facebook Inbox Search: Facebook's Cassandra Paper.

The description uses older Cassandra terminology like super columns, etc.