I don't see this being a particularly good fit for Cassandra, but I hope
someone confirms this.
However, your use case did look interesting for another project I've
interacted with indirectly, Pilosa, which used to have a Cassandra backend
before a complete Golang rewrite: https://github.com/pilosa/pilosa.
It seems as though the intersect PQL command may work for your use case:
Apache Cassandra Consulting
On Fri, Jan 5, 2018 at 5:15 PM, Oliver Ruebenacker <cur...@gmail.com> wrote:
> Let's say I have a table that has one column with a unique id as a
> primary key, and then hundreds of columns of floats, although a large
> fraction of cells are empty.
> I want to create an application that allows users to pick one or more
> number columns, specify a condition (equality or inequality) for each
> number column picked, and then get all rows that satisfy all the conditions
> provided. An empty cell would mean condition is not fulfilled.
> (for example, find all rows for which column35 < 0.5 AND column72 > 1.5
> AND column236 < 0.1)
> What's the best way to enable this? A secondary index for each number
> column? Would I have to obtain all columns that satisfy one condition and
> filter them down, or is there a better way? Does Cassandra support finding
> out which index best to start with?
> Best, Oliver
> Oliver Ruebenacker
> Senior Software Engineer, Diabetes Portal
> <http://www.type2diabetesgenetics.org/>, Broad Institute