Rails 3: оптимизация вызова базы данных

#ruby-on-rails #ruby-on-rails-3 #optimization #mongodb

#ruby-on-rails #ruby-on-rails-3 #оптимизация #mongodb

Вопрос:

Каков наилучший способ оптимизировать вызовы облачной базы данных MongoDB?

Например: у пользователя может быть 100 твитов или 100000 твитов, которые необходимо отобразить на странице.

Что мне делать, чтобы оптимизировать выборку твитов? Учитывая, что старые твиты каждый раз одинаковы, должен ли я кэшировать и извлекать только новые?

Я использую драйвер Ruby Mongo.

Ответ №1:

Только один вопрос: Вы хотите показывать 100000 твитов на странице?

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

Итак, я вижу две оптимизации:

  1. Создание индексов
  2. Ограничьте количество твитов на странице (вы можете сделать это, как facebook, на стене новостей).

Комментарии:

1. Да, я бы хотел увидеть страницу с 100 тысячами твитов на ней 🙂