powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование: прочитано сообщение конкретным пользователем
10 сообщений из 10, страница 1 из 1
Проектирование: прочитано сообщение конкретным пользователем
    #39210831
beekirr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, возникла проблема проектирования БД. в БД есть документы, группы и пользователи. пользователь может видеть все документы своей группы. Нужно определить прочитан ли документ конкретным пользователем. У документа есть лог, в который пишется что прочитал его конкретный пользователь. Но кроме этого есть таблица порядка отображения документов, т.е. если кто-то изменил документ, то он должен быть непрочитанным и отображаться вверху списка. Удалять из лога нельзя. количество документов всего в БД 100 тыс. у каждого пользователя примерно по 10 тыс. Джоинить три таблицы очень затратно, соответственно вопрос: есть ли у кого решение?
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39210833
beekirr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БД postgres, есть возможность использовать memcached
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39210860
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beekirr,
join-ить таблицы не затратно, тем более три. - вообще ни о чем.

проблема в другом - логи большие.
да и даже не в этом, а в том, что логи нужно удалять. так что делай отдельную таблицу с признаком чтения пользователем каждого документа, так и логи удалять можно будет, и запросы писать легче (не будет лишних записей).

если не хочешь сделать отдельную таблицу, то добавление нужного индекса решит проблему.
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39210877
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно -решение чего?
Либо Вы получаете информацию о том, прочитан ли документ А пользователем B, из лога,
либо храните отдельно некий агрегат (пользователь, документ, статус) и перестраиваете его по обновлении/прочтении каждого документа. Какое решение лучше - зависит от соотношения операций чтения/модификации.
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39210927
beekirr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

в бд: 100 тыс документов, 1 млн лога и 300 тыс в ордере, каждый год эти цифры будут умножаться на 2
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39211000
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beekirr,
через 20 лет будет 100 млрд документов? Оптимистично :)

Сегодняшние цифры, в общем, невелики и не имеют отношения к выбору решения.

Кот Матроскин. Какое решение лучше - зависит от соотношения операций чтения/модификации.
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39211050
beekirrКот Матроскин,

в бд: 100 тыс документов, 1 млн лога и 300 тыс в ордере, каждый год эти цифры будут умножаться на 2Это смешные объемы. Даже десктоп потянет.
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39212664
Relict_35
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39215434
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relict_35,
никакое секционирование тут на 200%не нужно- объемы данных не те. от несколько сотен миллионов можно думать про секционирование.
...
Рейтинг: 0 / 0
Проектирование: прочитано сообщение конкретным пользователем
    #39215619
Relict_35
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я не говорил, что нужно..)
просто указал, что есть возможность, а решение, что делать топикстартер пусть сам принимает.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование: прочитано сообщение конкретным пользователем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]