Я хочу отойти от mysql, хранящего посетителей в приложении для социальных сетей, и подумал, что cassandra будет хорошо для этого.Как получить последние 20 уникальных вещей
Пусть followign таблицу:
CREATE TABLE visitors (
visiteduserid bigint,
visitinguserid bigint,
visitdate timestamp,
PRIMARY KEY (visiteduserid,visitinguserid)
);
Я хочу, чтобы получить последние 20 уникальных visitinguserid для текущего visiteduserid, но
SELECT visitinguserid FROM visitors WHERE visiteduserid=1 ORDER BY visitdate DESC LIMIT 20
Bad Request: Order by is currently only supported on the clustered columns of the PRIMARY KEY, got visitdate
я прав, полагая, что я не могу просто добавить visitdate к основному ключу, так как я хочу только иметь последний визит для одного пользователя/пользователя. Лучше всего было бы отсортировать их по посещению спуска, как указано в презентации «Twitter Clone» ...
Любая помощь там?
Patric McFadin представлен на таймсерах и моделировании данных на саммите Кассандры. Взгляните на [его слайды] (http://www.slideshare.net/planetcassandra/c-summit-2013-the-worlds-next-top-data-model-by-patrick-mcfadin), они отличные ресурс, есть пример с моделью данных пользовательской активности, которая в значительной степени зависит от того, что вы хотите. 'ALSO' Вы можете добавить' visitdate' к составному ключу, а затем отсортировать его так, как хотите. –
В текущих версиях casssandra это кажется невозможным. Реализован обходной путь, и теперь он смотрит в hbase. –