![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 258
|
Доброго времени суток.
Хочу поинтересоваться, как лучше хранить статистику (голосования за тему, рейтинг, "мне нравится") Например, 1 человек может проголосовать за тему 1 раз и всё. 1. можно хранить в БД: ID темы | ID юзера 2. можно хранить в БД: ID темы | сериализованный массив с IDшниками юзеров. Первый вариант плох тем что, если тем много (больше 1000) и голосуют больше 1000 человек. То таблица получается много миллионная. Второй способ плох, что распаковывать и держать массив допустим из 5 000 IDшников, занимает много памяти. Больше в голову ничего не пришло. |
|
|||||
|
я думаю, надо прикидывать и сравнивать число активных тем с числом активных юзеров..
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 258
|
Не понял что Вы имеете ввиду
|
|
|||||
|
Я имел ввиду, что, скорее всего, для разных сервисов оптимальными решения будут разные.
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 258
|
Если мыслить глобально, число тем близится к бесконечности, число ("+1") равняется количеству зарегистрированных пользователей, от начала эпохи до текущего времени =)
Добавлено через 53 минуты Давайте возьмём вконтакте... у них на сообщения приходится и 100 000 (+1) ... конечно они могут позволить себе хранить на отдельном сервере сто миллионов сообщений и к ним несколько миллиардов "мне нравится"... Но на самом деле 100 000 000 это не так много если проект посещаемый. и существует например >6 лет и при том он абсолютно не чистится. Хотя всю их систему хранения информации можно выразить набором матных слов. У меня допустим в личных сообщениях (принятые 15 000) ... Я не думаю что кто-то сидит и читает холодными зимними вечерами распечатку своей переписки за 2007 год. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Советую 1. В 2 получите радость в виде поля переменной длины.
На самом деле 100 000 000 * 4 байта целого числа * 2 поля = меньше 800 мегабайт. И 3000 голосов с юзера - это целый год каждый день (с выходными, но без отпусков) по 10 голосов в день.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Я думал, вам какую-то конкретную задачу решить надо.
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 258
|
Это и есть конкретная задача, юзеров много, и отмечать они будут много, следовательно объем информации большой и выборка медленная.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|