Ответ 1
Из-за своей распределенной природы Cassandra не поддерживает объединения стиля RDBMS. У вас есть несколько вариантов, когда вы хотите что-то вроде соединения.
Один вариант выполняет отдельные запросы, а затем ваше приложение присоединяется к самим данным. Это имеет смысл, если данные относительно малы, и вам нужно выполнить лишь небольшое количество запросов. Основываясь на приведенном выше примере, это, вероятно, будет хорошим решением для вас.
Для более сложных объединений обычной стратегией является денормализация данных и сохранение материализованного представления соединения. Преимущество этого заключается в том, что выборка этих данных будет намного быстрее, чем при необходимости встраивать ее в приложение каждый раз, когда вам это нужно. Стоимость теперь у вас есть несколько мест, где вы храните одни и те же данные, и вам нужно будет синхронизировать их все. Вы можете обновить все свои представления, когда новые данные поступают в систему, или вы можете иметь периодическое пакетное задание, которое перестраивает их.
Вы можете найти эту статью полезной: Вам действительно нужен SQL, чтобы все это сделать в Кассандре? Его немного устарело, но его принципы все еще применяются.