Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the alternative ways to model M:M relations in Cassandra?

Consider a M:M relation that needs to be represented in a Cassandra data store.

What M:M modeling options are available? For each alternative, when is it to prefer? What M:M modeling choices have you made in your Cassandra powered projects?

like image 917
knorv Avatar asked Apr 04 '10 00:04

knorv


1 Answers

Instead of using a join table the way you would with an rdbms, you would have one ColumnFamily containing a row for each X and a list of Ys associated with it, then a CF containing a row for each Y and a list of each X associated with it.

If it turns out you don't really care about querying one of those directions then only keep the CF that you do care about.

like image 101
jbellis Avatar answered Nov 16 '22 00:11

jbellis