I know there have been solutions for search on top of Cassandra, for example, cassandra-lucene-index. So I am not finding a solution here, I am just curious about some implementations.
I found two projects: KairosDB(a time-series database built on Cassandra for monitoring data) and Infinispan(a distributed cache that can use Cassandra as cache store), both of which implement own search layer. They have similar Cassandra schemas that store data as blob, for example, Infinispan:
CREATE KEYSPACE IF NOT EXISTS Infinispan WITH replication = {'class':'SimpleStrategy', 'replication_factor':1}; CREATE TABLE Infinispan.InfinispanEntries (key blob PRIMARY KEY, value blob, metadata blob);
I looked into KairosDB code, it does search by reading a range of data then do in-memory filtering by some tags. I haven't investigated into Infinispan yet.
I am wondering if there is any algorithm just for this kind of thing? That says, storing data as binary then do a search by filtering?