Я занимаюсь разработкой многопользовательской игры на Python с использованием внешнего интерфейса Flask и использую ее как возможность узнать больше о способах работы NoSQL.
Redis, похоже, являетсяхорошо подходит для некоторых вещей, которые мне нужны для этого приложения, включая хранение серверных сессий и других временных данных, например, какие игры находятся в процессе, кто в сети и т. д. Есть также несколько хороших рецептов Flask / Redis, которые сделали вещипока очень просто.
Однако в модели данных все еще есть некоторые вещи, которые я бы предпочел использовать в традиционных СУБД, включая учетные записи пользователей, журналы завершенных игр и т. д. Redis не может этого сделать.делать эти вещи, но я просто думаю, что СУБД больше подходит для них, и, поскольку Redis хочет все в памяти, кажется, имеет смысл "хранить" некоторые из этих данных на диске.
Единственное, что яне совсем хорошая стратегия для того, чтобы эти два хранилища данных жили счастливо вместе.Использование ORM, таких как SQLAlchemy и / или redisco, кажется правильным, потому что ORM захотят владеть всеми данными, которые являются частью их модели данных, и в некоторых случаях мне понадобится, чтобы классы из одного ORM знали оклассы от другого (например, «пользователи находятся в RDBMS, но игры находятся в Redis, и в играх есть пользователи, участвующие в них.)
Кто-нибудь имеет опыт развертывания веб-приложений на Python с использованием магазина NoSQL, такого как Redisдля некоторых вещей и RDBMS для других? Если да, то есть ли у вас какие-либо стратегии для их совместной работы?