Используя MongoDB и Redis вместе? - PullRequest
3 голосов
/ 01 августа 2011

Мы начали с Redis, хранили активные данные, входили в систему и т. Д. Мы также используем некоторые pubsub для передачи данных в реальном времени.

Недавно мы добавили Mongo, чтобы соответствовать нашим гео-пространственным потребностям, и это также отлично подходит для неактивных данных.

Как эти двое должны работать вместе? Это глупо использовать оба? Глупо ли передавать куски данных из монго в redis, когда они становятся активными?

Мы думали, что мы можем хранить все в монго, но затем передавать пользовательские данные из монго в redis, когда пользователь активен и данные, вероятно, будут доступны. Я знаю, что Mongo самостоятельно выполняет такое кеширование, мы новички в них обоих и просто хотим знать, как их использовать вместе, если вообще.

Спасибо !!

1 Ответ

5 голосов
/ 01 августа 2011

Глупо использовать оба? Глупо ли передавать куски данных из Монго в Redis, когда они становятся активными?

Так что я чувствую, что на самом деле законно проверить и подтвердить этот вопрос. Redis - это, по сути, БД «в памяти», так насколько лучше вы можете сделать это, передав эту оперативную память Mongo?

Исторически мы использовали комбинацию Memcache / MySQL, чтобы «добавить RAM» в MySQL и ограничить объем записи, необходимый для этого. Мы сделали это просто потому, что было сложно осилить MySQL.

Однако MongoDB предоставляет механизм шардинга. Таким образом, вы можете «добавить RAM» к проблеме (наряду с «добавлением дисков»), просто добавив больше осколков.

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

Это глупо ...

Трудно сказать без некоторого тестирования и анализа. MongoDB на самом деле не имеет механизма pub / sub, но имеет тенденцию иметь быстрое время запроса, поэтому он может быть уместен в определенных местах.

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