Какой способ go при настройке базы данных для моего сервера - PullRequest
0 голосов
/ 14 апреля 2020

Я разрабатываю браузерную игру в реальном времени с веб-сокетом (socketio nodejs) и хотел бы приступить к реализации своей базы данных и хотел бы знать, какой тип базы данных (нет sql, sql ..) подойдет для моей Лучшая ситуация.

Небольшое описание того, как я собираюсь его использовать:

  • Я хочу, чтобы в игровых комнатах были сохранены все их опции (которые можно часто менять)

  • список подключенных пользователей и их связанных учетных записей (если пользователь является гостем, у него не будет связанной учетной записи, однако, если он это сделает, он будет связан с другой таблицей, содержащей некоторые дополнительные данные, такие как lvl или что-то в этом роде)

  • список пользовательских тем, которые им нравятся (например, при запуске игры все темы будут общими для всех пользователей) игра) все типичные темы хранятся в другой большой таблице, которая содержит много данных, которые не будут обновляться через некоторое время.

Так что в основном у меня есть несколько таблиц, которые нуждаются в большом количестве быстро и с постоянный доступ, который часто обновляется и удаляется, а некоторые не нуждаются в нем и содержат много постоянных данных.

Я думал об использовании mongodb, но, честно говоря, не хочу совершать то, что не хочу иметь опыт работы (у меня есть sql знания). Мне нужны предложения, спасибо

1 Ответ

1 голос
/ 14 апреля 2020

TD; LR : лично я бы go с PostgreSQL.

Недавно у меня возник тот же вопрос, что и у вас, но с той лишь разницей я не смотрел строить игровые комнаты. После некоторых исследований я убедился, что PostgreSQL - это круто и подходит для любого проекта. Ну, технические гиганты тоже используют его, включая Facebook, Uber, Netflix ... (https://stackshare.io/postgresql). Это масштабируемый, легко настроить одну БД, отличное сообщество с большим количеством учебных пособий (как видео, так и статей), а также расширяемый, так как он поддерживает JSON, что здорово!

Вы можете использовать отличный ORM для Node.js, такой как TypeORM или Sequelize. Кроме того, я предлагаю вам взглянуть на GraphQL, API, который имеет подписки (операции в реальном времени). Как я полагаю, это будет веб-приложение, я настоятельно рекомендую вам go с React. js для интерфейсных функций, которые прекрасно взаимодействуют с GraphQL и Node.js. Наконец, что не менее важно, многие разработчики и компании используют как MongoDB, так и PostgreSQL для различных функций и целей для каждого. Для пользовательских таблиц используйте PostgreSQL, для нескольких "больших" JSON объектов используйте MongoDB.

Надеюсь, это поможет и позволит вам понять, что вы хотите, более понятным способом. Удачи в вашем проекте!

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