MongoDB как кеш для частых объединений и запросов из MySQL - PullRequest
0 голосов
/ 25 октября 2010

Я думаю о том, чтобы сделать следующее, и мне нужны предложения, если есть смысл подходить к этому так. По сути, поскольку я могу выполнять запросы в MongoDB, MongoDb быстро справляется с этим, поскольку горячие точки данных кэшируются в памяти. Я думал о хранении данных, из которых я обычно делаю соединение в MySQL в mongoDB. В то время как я использую memcached для хранения простых результатов запроса (например, страницы описания фильма), для больших вещей, которые требуют больше запросов в реальном времени / по требованию, я думал о сохранении этого в MongoDB. Например, количество просмотров фильмов, кто их видел, и анализ их.

Надеюсь, я объяснил это ясно.

больше информации:

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

Спасибо, Фейсал

Ответы [ 3 ]

2 голосов
/ 25 октября 2010

Кэширование памяти само по себе не является хорошей причиной для использования MongoDB.Любая правильно настроенная СУБД будет кэшировать часто используемые данные в памяти.

Какой аспект MySQL в настоящее время ограничивает вашу производительность?Достаточно ли у вас оперативной памяти на вашем сервере?Ваши диски достаточно быстрые?У вас есть устройство кеша с низкой задержкой, например, SSD, настроенное соответствующим образом?

0 голосов
/ 19 февраля 2013

То, о чем вы говорите, это идея о нормализации и денормализации данных.Использование MongoDB в качестве денормализованного хранилища данных для ваших нормализованных данных SQL хорошо.Использование Mongodb в качестве единственного хранилища данных для определенных типов данных также хорошо.Просто убедитесь, что в проекте системы четко указано, где находятся истинные данные и где денормализованные данные.Денормализованные данные - это сплетни - вы не уверены, актуальны ли они или нет.

0 голосов
/ 25 октября 2010

Нет ничего плохого в использовании обоих решений в вашем приложении. На самом деле, я использую mysql для хранения пользовательских сессий, как и для файлов cookie. Кроме того, у меня есть еще один проект, который использует mysql, но для определенных частей моего приложения я буду использовать MongoDB. Зачем? Это быстро, и я ненавижу писать запросы на присоединение. Намного проще вставлять / выводить данные из монго, чем предполагать необходимость выполнения запросов соединения в mysql.

т.е.

При сохранении тегов для конкретного пользователя, черт возьми, очень важно сохранить / изменить / удалить тег, хранящийся в mongodb. С MySQL мне пришлось бы написать запрос, который объединяет несколько таблиц. Для таких данных, как учетная запись пользователя, пароль, город, штат - я сохранил все в MySQL.

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