- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вот допустим пользователь состоит в 20 группах.
Как соцсеть выбирает новые посты для формирования ленты?
Одним SQL-запросом или несколькими?
Как хранятся эти посты?
Все посты одной группы хранятся на одном сервере или на нескольких, если на группу подписано много людей.
Все посты одной группы хранятся на одном сервере или на нескольких, если на группу подписано много людей.
Если опустить вопросы шардирования-масштабирования, то при хранении данных в SQL с использованием связей many-many (пользователь - группа) и 1-many (пост в группе) запрос мог бы выглядеть примерно так:
где в :id_user "биндится" id-шник текущего пользователя..
В "хайлоаде" всё слегка иначе.. =)
Профайл юзера наверняка сидит в каком нибудь кеше. И соответственно вытянуть новые новости можно простым запросом:
где user_last_seen_date - из кеша (профайла) последняя дата запроса юзера к новостям. С user_group_list аналогично.
И на крупных проектах дергают не из базы, а из поисковых индексов.
Забыли запрос на подмешивание данных из рекомендуемых госдепом групп. Иначе говоря, не думаю, что все укладывается в один запрос.