Мне нужно создать веб-страницу, где руководитель группы может пригласить людей присоединиться к своей группе. Мои требования очень просты.Моделирование данных для простой таблицы в Кассандре не работает
Отсутствие отправки дубликатов электронных писем, если с кем-то связались.
Покажите группе лидеров список приглашенных, отсортированных по дате приглашения в порядке возрастания.
Кажется легким. Я создал эту таблицу.
CREATE TABLE invites (
email_address text,
invite_date timeuuid,
PRIMARY KEY (email_address, invite_date)
) WITH CLUSTERING ORDER BY (invite_date ASC);
Задача 1: LWT не использовать с приглашением в качестве столбца кластера.
я решил использовать LWT для обеспечения email_address является уникальным, только чтобы узнать, ЕСЛИ НЕ СУЩЕСТВУЕТ только кажется работать на PRIMARY KEY весь, так LWT в C * не работает для меня.
Задача 2: Я не могу получить упорядоченный список приглашений, чтобы спасти меня, даже если приглашение_событие является столбцом кластера.
Если я вывешу приглашение, я не могу выдать «заказ» на CQL. Тем не менее, имея приглашение от ПК, давайте мне использовать LWT ...
Я не могу даже получить таблицу из 2 столбцов, чтобы выполнить 2 простых требования! Любая помощь в дизайне моделирования данных для этой проблемы очень ценится.
Новый 4 декабря 2015:
Дополнительно к требованиям бизнеса, техническое требование у меня есть: Я хочу, чтобы убедиться, что я модель это правильно в Кассандре, так что это позволяет мне использовать возможности LIMIT и PagingState CQL в драйвере Java. Это означает, что я не могу просто прочитать все строки, сортировать по стороне Java и возвращать результаты.
Я пробовал это. Я не могу ORDER BY invite_date, если это не кластерная колонка. Таким образом, это синтаксическая ошибка CQL: «выберите * из приглашений, где group_id = 1 order by invite_date;» – Jason
@Jason Тогда, возможно, вы можете получить данные и заказать их в своем приложении. – bydsky
Теперь я пройду курс, спасибо. Получил ** Пакет: Изучение Apache Cassandra ** книга 100% читать и передо мной. Тем не менее, я не хочу сортировать на стороне сервера, потому что это может означать чтение WAY для многих строк, просто для сортировки по 'invite_date' и возврата подмножества обратно в браузер. Определенно ищут способ моделировать это в Cassandra, что позволяет мне использовать возможности LIMIT и pagingState. Я добавлю, что наверху, я думаю ... – Jason