
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.04.2016, 10:56
|
|||
|---|---|---|---|
|
|||
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
Здравствуйте, возникла проблема проектирования БД. в БД есть документы, группы и пользователи. пользователь может видеть все документы своей группы. Нужно определить прочитан ли документ конкретным пользователем. У документа есть лог, в который пишется что прочитал его конкретный пользователь. Но кроме этого есть таблица порядка отображения документов, т.е. если кто-то изменил документ, то он должен быть непрочитанным и отображаться вверху списка. Удалять из лога нельзя. количество документов всего в БД 100 тыс. у каждого пользователя примерно по 10 тыс. Джоинить три таблицы очень затратно, соответственно вопрос: есть ли у кого решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2016, 10:58
|
|||
|---|---|---|---|
|
|||
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
БД postgres, есть возможность использовать memcached ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2016, 11:15
|
|||
|---|---|---|---|
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
beekirr, join-ить таблицы не затратно, тем более три. - вообще ни о чем. проблема в другом - логи большие. да и даже не в этом, а в том, что логи нужно удалять. так что делай отдельную таблицу с признаком чтения пользователем каждого документа, так и логи удалять можно будет, и запросы писать легче (не будет лишних записей). если не хочешь сделать отдельную таблицу, то добавление нужного индекса решит проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2016, 11:25
|
|||
|---|---|---|---|
|
|||
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
Не совсем понятно -решение чего? Либо Вы получаете информацию о том, прочитан ли документ А пользователем B, из лога, либо храните отдельно некий агрегат (пользователь, документ, статус) и перестраиваете его по обновлении/прочтении каждого документа. Какое решение лучше - зависит от соотношения операций чтения/модификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2016, 11:58
|
|||
|---|---|---|---|
|
|||
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
Кот Матроскин, в бд: 100 тыс документов, 1 млн лога и 300 тыс в ордере, каждый год эти цифры будут умножаться на 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2016, 13:03
|
|||
|---|---|---|---|
|
|||
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
beekirr, через 20 лет будет 100 млрд документов? Оптимистично :) Сегодняшние цифры, в общем, невелики и не имеют отношения к выбору решения. Кот Матроскин. Какое решение лучше - зависит от соотношения операций чтения/модификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.04.2016, 13:48
|
|||
|---|---|---|---|
|
|||
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
beekirrКот Матроскин, в бд: 100 тыс документов, 1 млн лога и 300 тыс в ордере, каждый год эти цифры будут умножаться на 2Это смешные объемы. Даже десктоп потянет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.04.2016, 15:11
|
|||
|---|---|---|---|
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.04.2016, 11:42
|
|||
|---|---|---|---|
Проектирование: прочитано сообщение конкретным пользователем |
|||
|
#18+
Relict_35, никакое секционирование тут на 200%не нужно- объемы данных не те. от несколько сотен миллионов можно думать про секционирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1540359]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 277ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...