72 похожих чатов

Есть такой вопрос. Начинаю писать дипломный проект - соц. сеть

кулинарных рецептов, соответственно будут юзеры, посты с рецептами, фолловеры (основные сущности). Вот остановился на построении архитектуры. Смотрел на реляционные базы в частности постгрес, как стандартное решение. Но вот если у нас будет оочень много юзеров, постов и т.д., запросы джоинов буду проходить очень медленно (такие, как сделать сначала выдачу постов юзеров, за которыми следит данный пользователь). Потом пошел к NoSQL решениям, смотрел Кассандру - но в ней не получится сделать то, что нужно (например отфильтровать посты по кол-ву ингредиентов (ну сами понимаете, как устроена Кассандра)). Смотрел графовые БД, Neo4j, но они не очень предназначены для хранения больших данных, запросы тоже будут идти долго. Потом решил загуглить как устроен Интсаграмм, они как-то умудряются юзать и Кассандру и Постгрес, не знаю как. Ну ок. Решил всё таки остановится на Постгресе. Но вопрос в том как с помощью системы кеширования (Редис, например) ускорить время ответа на запрос. Можно ли делать так? Берем 1000 грубо говоря постов с постгреса и кладём в Редис, ну и потом уже с клиента идём в Редис и пагиннируем (с лимитом 12 постов допустим) эти посты и возвращаем нужное клиенту? Или можно как-то по-другому это реализовать? Подскажите пожалуйста, буду очень благодарен)

4 ответов

2 просмотра

Как у вас все интересно медленно получилось еще даже без какой либо реализации 😄 Ни сколько пользователей предполагается, ни сколько постов предполагается, ни каких цифр, но все медленно, даже на касандре 😅

По-моему вы слишком заранее оптимизируете. Просто набросайте архитектуру для ваших требований, надо будет нормализовать данные в каком-то виде? нормализуйте! надо будет кешить какие-то выборки? ну используете редис для сохранения ответа от бд при конкретном запросе, а не переносите бд из постгреса в редис!

С Closure table можно уже много джойнов оптимизировать, если структура вроде форума. https://bitworks.software/en/2017-10-20-storing-trees-in-rdbms.html

Похожие вопросы

Обсуждают сегодня

Приветствую всех, возникла проблема, до этого писал бота в простом формате где при выполнении условий приходило через send_message информация, сейчас решил добавить хендлер на...
Andrew
4
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, привет. У кого-то есть опыт заказа мерча в сторе? Есть успешные кейсы? Чёт у меня турецкую карту не принимает
Vladimir F.
7
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Всем привет. Есть кто разбирается в платежках? Что б принимать из других стран и выплачивать рф снг
Musa
6
Ребят, а больше никто поработать не хочет? Кто свободен?
AIZ
4
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
знаешь как они вообще работают?
Akcium Сергей
3
Карта сайта