Предположим модель данных, в которой у пользователя есть посты в блоге. Каждый пост имеет уникальный заголовок и множество атрибутов.
У меня есть семейство столбцов "posts", в котором каждая строка выглядит следующим образом:
posts = {
"yersterday" : {
date : 03-04-2012
userID : abfe222234
tags : "beatles,paul"
}
}
Я хочу проиндексировать сообщения по пользователю, поэтому у меня есть другое семейство обычных столбцов :
user_posts = {
abfe222234 : {
yesterday : null
....
}
}
Эта модель появилась после многих исследований вторичной индексации в Кассандре, в которых я пришел к этим слайдам: http://www.slideshare.net/edanuff/indexing-in-cassandra и понял, что семейство Super Column все меньше и меньше используется.
Мой вопрос:
Если вам нужны все подробности о сообщениях пользователя, это означает, что мне нужно прочитать БД дважды: один раз для получения всех идентификаторов сообщений и один раз для получения всех подробностей сообщения для этих идентификаторов.
Чего мне не хватает?
Спасибо,
Issahar.
редактирование:
Другой вариант - сделать «user_posts» Super CF и включить в него все данные, которые находятся внутри «записей».
плюсы: вам нужно будет получить все данные только один раз.
минусы: 1. Вы дублируете все свои данные. 2. Вы не можете искать один раз атрибут сообщения.
Что ты скажешь?