Андрей Андреев: Спасибо за разъяснение,все по полочкам разложили.Но один вопрос остался, так как у меня модель подписчики и подписки, как мне сформировать список людей который подписаны на меня?Если допустим пользователь популярный и у него 1 млн подписчиков? Как вариант можно создать две таблицы с id одна для тех кто у пользователя в подписках другая для тех кто подписан на пользователя?
freeExec: А какие в данном случаев могут возникнуть ошибки? И почему это дублирование данных? Ведь я храню отдельно список тех на кого подписан я и тех кто подписан на меня,это ведь разные вещи,так как если я подписан на кого-то то это не обязательно значит что он подписан на меня!
P.s я не защищаю и не настаиваю на правоте своей схемы,как может показаться)Просто разобраться в разнице не могу
freeExec: Ну а если для подписчиков просто добавить второй параметр SUBSCRIBERS и там хранить массив тех кто подписался на меня? Так пойдет? У меня просто не модель друзей а модель подписки и подписчики.
Допустим появился 1 млн пользователей у каждого 200 друзей, пусть будет 10 физических шардов, на каждом шарде такая таблица будет состоять из 20 млн записей. И из такой таблицы списки друзей вытаскиваться будут очень часто соответственно все повалиться. А так как я выше предложил просто дернул массив и все,или я где-то ошибаюсь?
Ничего не мешает сделать так но просто это не решение проблемы,так как после того как пользователь зашел ему нужно эту ленту отобразить,а как получить эти публикации?
Вообщем как получать обновления не по инициативе сервера а когда допустим пользователь обновит экран для обновление ленты,т.е по инициативе пользователя
Спасибо за столь подробный ответ,побольше бы таких людей которые так подробно на вопросы отвечают что после их ответа не остаетьтся никаких вопросов.Еще раз спасибо