Выбор типа хранилища и способа хранения часто меняющихся данных

Рейтинг: 1Ответов: 1Опубликовано: 06.07.2011

Здравствуйте!

Думаю над тем, как организовать хранение данных в одном потенциально highload проекте, решил посоветоваться. Задача такая: есть список "кандидатов" (~20 штук), есть люди, которые ставят бал каждому (за один раз). Нужно выводить текущий рейтинг кандидатов, т.е. после каждого голоса нужно пересчитывать ~20 чисел. Какие есть варианты:

  1. Просто берем PostgreSQL и сохраняем голоса пользователей в таблице. Расчет рейтинга происходит в коде приложения, и кешируется.
  2. Использовать опять же реляционную базу данных, но кроме сохранение голосов пользователей сразу же в определенной таблице хранить пересчитанный рейтинг. Для пересчета рейтинга использовать очередь сообщений, или делать это по крону.
  3. Первый способ, но использовать NoSQL решение.
  4. Второй способ, но использовать NoSQL решение.

Я склоняюсь к NoSQL базе данных и кешированию расчета рейтинга, без денормализации. Как бы поступили вы?

Спасибо!

Ответы

Ответов пока нет.