кассандра, как будет выглядеть запрос?

#cassandra

Вопрос:

Я видел эту модель данных:

 CREATE TABLE IF NOT EXISTS social_media.posts_by_user (
user_id uuid,
post_id uuid,
message_text text,
created_on timestamp,
deleted boolean,
user_full_name text,
PRIMARY KEY ((user_id, created_on))
);
CREATE TABLE IF NOT EXISTS social_media.user_timeline (
follower_id uuid,
post_id uuid,
user_id uuid,
location_name text,
user_full_name text,
created_on timestamp,
PRIMARY KEY ((user_id, created_on))
);
CREATE TABLE IF NOT EXISTS social_media.post_counts (
likes_count counter,
view_count counter,
comments_count counter,
post_id uuid,
PRIMARY KEY (post_id)
);
 

Мой вопрос сейчас:

Если я хочу показать пост с лайками. Как я его запрашиваю ? Я не могу присоединиться к таблице post_counts, так как же мне это сделать ? Это должно быть в запросе posts_by_user или я ошибаюсь ?

 Output as User Interface:

--username
--profilimage
--likes
--follow-user
 

Комментарии:

1. Можете ли вы уточнить, будет ли пользовательский интерфейс включать сообщение или нет? Сообщение не является его частью, но вы упомянули, что хотите показать сообщение с лайками. Как вы решаете, какой пост показывать? Допустим, это 1 миллион сообщений, каковы критерии выбора для отображения сообщений?

2. Возможно, вам придется разделить запросы

3. В базах данных NOSQL вы не можете мыслить как реляционные базы данных. Поэтому для каждого запроса вы создаете таблицу со всем необходимым. Если вы хотите присоединиться, вы можете использовать искру, чтобы сделать это за вас. Однако исполнение не приносит удовлетворения. Поэтому для моделирования вашей схемы вам нужно посмотреть, какие данные вам нужны, создать таблицу, а затем создать механизм для ее загрузки.