Я пытаюсь изучить модели Cassandra, посмотрев на Twissandra project.Apache Cassandra - Follow/Unfollow relationship на примере Twissandra
Похоже, что когда пользователь отдает предпочтение одному из своих последователей, только отношения дружбы/последователя удаляются из таблиц, но твиты неуправляемого пользователя остаются на временной шкале пользователя, который только что отменил его.
Кроме того, с базовыми знаниями о моделировании Cassandra, которые у меня есть в настоящее время, мне кажется, что практически невозможно удалить твиты с временной шкалы. Вот модель от Twissandra:
CREATE TABLE timeline (
username text,
time timeuuid,
tweet_id uuid,
PRIMARY KEY (username, time)
) WITH CLUSTERING ORDER BY (time DESC)
Поскольку tweet_id не является ни одним из ключевых разделов, ни столбец кластеризации невозможно запросить она и удалить запись.
Кроме того, может ли кто-нибудь предложить модель, где можно было бы удалить твиты пользователей, не имеющих выхода к списку, с временной шкалы.
Я столкнулся с этой проблемой в течение дня, и кажется, что это не так просто сделать в Кассандре. Я исхожу из реляционного мира, так что, может быть, моя точка зрения неверна.
Спасибо за Ответить. Изменение tweet_id на timeuuid сделало бы трюк, но я должен был бы выбрать все твиты-недопустимые пользовательские tweet_ids, а затем выпустить удаление на основе этих tweet_ids. Если у пользователя слишком много твитов, это может быть проблемой. Каков будет прецедент для таблицы follow_users_tweets, которую вы предложили? Мне нужно как-то удалить твиты со шкалы времени, так что опять же, мне нужно будет выбрать все твиты от пользователя, которые я хочу отменить, а затем выпустить удаление в таблице временной шкалы с этими идентификаторами. Я не уверен, что это сработает. – Milan