database design - Cassandra: How to model column family to perform intersect-like queries -


basically have 3 attributes: partid, measurementdef , value. each part (partid) consists of multiple measures (value) of type (measurementdef).

formatted tree this:

-part 1   |- measurementdef 1 -> 15,86   |- measurementdef 2 -> 19,54 -part 2   |- measurementdef 1 -> 21,21   |- measurementdef 3 -> 65,54   |- measurementdef 4 -> 12,54 -part 3    ... 

now question is: how should model column family this:

select partid <table> measurementdef = xxx , value > 10 intersect select partid <table> measurementdef = yyy , value < 50 

in other words: want find parts, value measurementdef xxx higher 10 , value measurementdef yyy lower 50.

afaik, there no modelling approach make intersection within single query. suggest use following table design:

create table mdefparts(     mdef int,     value float,     parts set<uuid>,     primary key(mdef, value) ); 

then use queries:

select parts mdefparts mdef=xxx , value > 10; select parts mdefparts mdef=yyy , value < 50; 

then join sets first query 1 set (say, set1).

join sets second query set2.

then intersect set1 , set2.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -