viperz
@viperz
inspired by Java

Как в Cassandra выбирать данные по одному из двух полей?

Добрый день.

Я хочу в Cassandra собирать информацию про сессии устройств подключенных к нашему серверу. Но устройства не подключаются сами, у них есть так называемые клиенты, которые выступают в роли гейтвеев. Т.е. есть клиент, у которого есть много устройств, если устройство хочет общаться с сервером - клиент подключается к серверу и после этого все его устройства могут делать запросы на сервер через клиент.

Я хочу хранить информацию примерно в таком виде: client_id, device_id, timestamp .

Делается это для того , чтобы можно было смотреть, какие клиенты и устройства были активны последнее время (т.е. какие из них теоретически сейчас онлайн).

Так вот, я сделал колоночное семейство , где device_id - PRIMARY KEY . НАсколько я понимаю, если я сделаю композитный ключ (device_id, client_id) , то я все равно не смогу доставать записи только для client_id или только для device_id.

Я хотел бы иметь возможность доставать так: WHERE client_id = ... ; и так: WHERE device_id = ... ;
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы