Стоит ли использовать redis, как временное хранилище игровых данных? И стоит ли менять mysql на postgreSQL?

Для браузерной карточной игры (пользователи совершают какие-либо примитивные действия не чаще одного раза в 1-2 секунды, онлайн 500-1000 человек) требуется выбрать метод хранения актуальной игровой информации. Проект работает на yii2 + nodejs. В основном все запросы идут через ajax, обрабатываются в yii2 и через redis отправляются на nodejs сервер, который в свою очередь рассылает все обновления пользователям через вебсокеты. Для хранения информации о пользователях на данный момент используется mysql. Также в нём есть таблицы с данными завершённых игровых сессий. Необходимо понять есть ли смысл использовать redis для хранения данных игровых актуальных игровых сессий в целях улучшения производительности (усложнение архитектуры, которое может повлечь некоторые ошибки) или же 300-400 запросов в секунду к mysql это не критическая нагрузка для одного сервера (для актуальных сессий будет отдельная таблица, актуальных игровых сессий будет не больше 50-100 штук, соответственно строк будет не больше 100 штук, по идее выборка будет очень быстрой). Так же хотелось бы понять есть ли у postgreSQL преимущество по производительности по сравнению с mysql (расширенный функционал не требуется). Если для данной задачи хватит mysql, то предпочтительнее было бы использовать именно её.
  • Вопрос задан
  • 831 просмотр
Пригласить эксперта
Ответы на вопрос 3
orlov0562
@orlov0562
I'm cool!
300-400 запросов в секунду для примитивных запросов не будет проблемой для mysql. Разумеется если будут настроены нужные индексы и кеширование запросов, особенно если хар-ки сервера позволят их полностью хранить в ОЗУ. Я бы отдал предпочтение тому, с чем лучше знакомы разработчики и админ. Усложнять логику, менять технологии и увеличивать риски без веских причин, моё мнение, не имеет смысла.
Ответ написан
Комментировать
terrier
@terrier
онлайн 500-1000 человек

300-400 запросов в секунду к mysql


На сколько либо нормальном железе 1 mysql-сервера хватит за глаза, redis точно излишний. Могу смело предположить, что у вас там характер нагрузки - короткие более-менее одинаковые запросы и все горячие данные быстро поднимутся в кэш базы ( у вас же не 100 гигабайт горячих данных, правда? ).
Переход на постгрес на таких масштабах заметного прироста именно в производительности скорее всего не даст, тем более понятно, что это затраты. Хотя помним, что у постгреса много других преимуществ.
Ответ написан
Комментировать
taliban
@taliban
php программист
постгре и мускуль на малых данных работают одинаково, поменяете шило на мыло, редис дат значимую производительность, но для начала просто прикиньте, нужно ли вам ускорение? Что-то тормозит? У вас задача именно ускорить приложение?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы