Могу ли я использовать RedisDB для больших баз данных? - PullRequest
0 голосов
/ 06 февраля 2011

Могу ли я использовать RedisDB для больших баз данных вместо баз данных на основе SQL?

Мне действительно нравится архитектура RedisDB, и теперь я знаю, что RedisDB поддерживает виртуальную память.

Но я не знаю, как быстро.

PS Когда я говорю большая база данных, я не имею в виду действительно большую. Просто БД какого-то сайта, которая не может быть помещена в память.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2011

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

При проектировании для redis vm необходимо учитывать несколько моментов:

  • Все ключи должны соответствоватьв памяти, даже если их значения нет.Это хорошо работает, если ваше значение представляет собой большой сериализованный объект, но не так хорошо, если ваше значение представляет собой одно число или короткую строку и может фактически быть меньше ключа.

  • Процесс сохраненияработает немного иначе, когда используется VM.Я не помню подробности, но вам может понадобиться рассмотреть, что гарантированно будет записано на диск, когда.

2 голосов
/ 06 февраля 2011

Все зависит от вашего приложения.Redis - это магазин Key-Value.Если ваши данные хранятся в реляционном формате и плохо поддаются поиску ключей, тогда это не совсем то решение, которое вам нужно.Кроме того, Redis имеет лучшую производительность, когда он хранится в памяти.Если транзакции важны для вас, это тоже не очень хорошее решение.Я использую Redis и мне это нравится, но, похоже, многие пытаются использовать приложения, для которых Redis не подходит.Если вы храните такие вещи, как веб-страницы, комментарии, твиты и т. Д., Я бы также рассмотрел хранилище документов, например MongoDB.Вам нужно будет добавить больше информации о вашей реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...