инвентари игроков с этими предметами в бд?
При помощи связи many to many
Ща погуглю
Почитайте книжки
Долго и скучно, лучше напрямую изучать
Щас буду отношения изучать, спасибо, что подсказали
Для серьезного проекта я бы взял json поле или no-sql решение ориентированное на высокую скорость чтения, many-to-many положит базу при первой серьезной нагрузке. Но в образовательных целях лучше пили на стандартных sql relations
Я почитал щас про m-to-m. Мне тоже кажется, что это так себе варик
Что подразумеваешь под no-sql? ORM?
Это так себе варик для нагруженного прода, для обучения - самое то
https://en.wikipedia.org/wiki/NoSQL
Я понял! В теории может быть нагрузка, поэтому пытаюсь делаю что-то между обучением и производительностью
делай как умеешь. Чтобы советы используй рсубд или носкуль были полезны - твоя игра должна стать мега успешной и тогда ты наймешь людей, которые сделают как надо
Пхпхпххп, хорошо!
Это полная чушь, извините (при серьёзной нагрузке скорее ляжет JSON-поле или NoSQL-решение).
сперва ляжет автор игры - когда поймет сколько работы нужно сделать)))
Давайте представим стандартный инвентарь в MMORPG. У каждого предмета есть куча модификаторов (возможно многоуровневых), каждый из которых тоже реализован через релейшены. Куча опциональных параметров, которые буквально просят записать их в json, а не создавать новые сущности/поля. А теперь мы тащим это всё через джоины, и офигеваем от длины запроса и размера декартового произведения
> Куча опциональных параметров, которые буквально просят записать их в json И превратить в типичную "кашу" из неведомо чего (впрочем, возможно, что корректность данных в MMORPG мало кого волнует), по которой очень затратно что-то искать (опять-таки — может, в подобных приложениях это совсем не нужно). > и офигеваем от длины запроса Да как-то пока не поражены (и не обязаны "тащить это всё", и можем даже создавать подходящие views). ;) Кстати, "декартовое произведение" тут совсем ни при чём.
>И превратить в типичную "кашу" из неведомо чего (впрочем, возможно, что корректность данных в MMORPG мало кого волнует), по которой очень затратно что-то искать (опять-таки — может, в подобных приложениях это совсем не нужно). Вы абсолютно правы, это именно те параметры которые в случае с инвентарем в игрушке очень редко кого-то волнуют
Если так, то эти кучи мусора "параметры" можно хранить как угодно, в принципе. ;) Т.е. СУБД вообще не обязательно знать, что там внутри — храните хоть как blob в самом простом K-V store или обычной RDMBS (или как varchar, или XML, или JSON и т.п.) — пусть приложение само с этим разбирается.
Вы точно знаете, что такое декартово произведение?
В виде таблиц!
Че за бред городишь?
Сказал бы сразу что ты из секты Святого Великомученика Джисона, я б сразу тебя забанил... А так ещё сообщения стирать, уже лень...
Хероту вы пишэте.
Бери учебник и делай как в учебнике. Будут вопросы с нагрузкой -- будешь что-то думать (и да, думать про json если таблица расписывается на классические отношэния -- надо в последнюю очередь).
1) От длины запроса мы не особо офигеваем. Да, на каждую группу параметров требуется по 100-200 байт в запросе. Нуичо? 2) Они джойнятся только когда они зачем-то нужны. В большынстве случаев -- нет. Например, дамаг вещи не нужэн когда мы кладём что-то в инвентарь и проверяем, вытянет ли вес и не взорвутся ли взаимно-отвращающие вещи.
Обсуждают сегодня