Рассмотрите отношение M:M, которое должно быть представлено в хранилище данных Cassandra.
Какие опции моделирования M:M доступны? Для каждой альтернативы, когда это должно предпочесть? Какой выбор моделирования M:M, Вы сделали в своей Cassandra, привел в действие проекты?
Вместо использования таблицы соединений, как с rdbms, у вас будет одно ColumnFamily, содержащее строку для каждого X и список связанных с ним Y, а затем CF содержащий строку для каждого Y и список каждого X, связанного с ним.
Если окажется, что вы действительно не заботитесь об одном из этих направлений, оставьте только тот CF, который вам действительно важен.
Cassandra по замыслу является базой данных ключевых значений, поэтому для достижения M: M есть два способа сделать это.
Денормализуйте ваши данные, чтобы все отношения дублировали данные.
т.е. x-> y (значение) и x-> z (значение) и a-> y (значение)
y следует сохранить для x и a
Вот как это должно быть сделано, поскольку это дает вам силу database
Сохранить ссылку на реляционный ключ как значение.
x-> y (ключ) и x-> z (Key) и a-> y (Key)
Итак, если вам нужен x со значением y, это должно быть две операции, получите x, что даст вам значение y. Затем выделите y в отдельной операции.
Cassandra - это не СУБД, поэтому не стоит отвлекаться на традиционный способ сделать это, отбрасывая значения и определяя отношения.