Сообщений: 141
Тем: 9
Зарегистрирован: Sep 2016
Репутация:
175
flopix Написал:Хранятся в виде уже инициализированных объектов типа персонаж, предмет монстр и т.п. или каких то списков данных? Первый вариант но помещенные разумеется в списки Dictionary - аналог HashMap, в ArayList, все зависит от необходимого способа доступа к ним.
Сообщений: 561
Тем: 44
Зарегистрирован: Sep 2011
Репутация:
412
Интересное решение но не понятно зачем.
На данный момент доступ к базе редко является узким местом в сборках L2.
Например:
Все что касается персонажа загружается 1 раз при его входе в игру это копеечная задержка.
Любые изменения (предметы в инвентаре, параметры и прочее) кешируются и сохраняются в базу периодически в отдельном потоке.
Все статические данные вроде параметров мобов, умения, характеристики предметов загружаются из xml и или БД при загрузке сервера в память один раз.
В принципе ваш метод ничем и не хуже, вы просто убираете прослойку. Но в некоторых случаях вместо хитрого запроса из базы чтобы например получить информацию по клану с зависимостями, по замку и подобное придется городить сложные функции с кучей циклов и потенциальными логическими ошибками.
Сообщений: 144
Тем: 9
Зарегистрирован: Jul 2012
Репутация:
2,152
Редис вас чем не устроил? И да, как сказали выше - если нет причин для реляционности это не повод велосипедить. Тем более вы решаете этим не конкретную реальную проблему, а свою абстрактную, которую придумали в своей голове. Возьмите любое хранилище, подоприте его мемкешдом вот вам и быстрый доступ к горячим данным. А холодные на то и холодные, чтоб лежать где то далеко на сервере и не занимать место в памяти.
Вы же в курсе что никто вам не даст бесконечно расти по оперативке без дополнительной машинки? Т.е. Ни один дц не даст вам отожрать всю оперативу и всего два процессорных ядра от машинки, а значит придётся платить за весь сервак целиком. И в добавок к 140 Гбайт оперативки вы получаете ещё 16-32 процессорных ядер и вот дешевая оперативка перестаёт выглядеть дешёвой.
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
Как же будет "весело" править что либо в сохраненных в таким виде данных. К примеру массово изменить значение какого-то параметра у всех персонажей....
Сообщений: 141
Тем: 9
Зарегистрирован: Sep 2016
Репутация:
175
01-27-2017, 10:07 PM
(Сообщение последний раз редактировалось: 01-27-2017, 10:08 PM Alay.)
Gaikotsu Написал:Как же будет "весело" править что либо в сохраненных в таким виде данных. К примеру массово изменить значение какого-то параметра у всех персонажей.... Что мешает создать класс которые будет десериализировать, Linq'ом пробежаться по тому что нужно изменить, и обратно все это дело запаковать. Проблем не вижу.
Добавлено через 50 секунд
А в рантайме можно делать напрямую через сервер.
Сообщений: 57
Тем: 5
Зарегистрирован: Mar 2013
Репутация:
-58
Alay Написал:Что мешает создать класс которые будет десериализировать, Linq'ом пробежаться по тому что нужно изменить, и обратно все это дело запаковать. Проблем не вижу.
Добавлено через 50 секунд
А в рантайме можно делать напрямую через сервер.
И под любое не однотипное изменение данных лезть в код и плодить костыли? гениально!
Сообщений: 287
Тем: 24
Зарегистрирован: Feb 2010
Репутация:
919
Alay Написал:Что мешает создать класс которые будет десериализировать, Linq'ом пробежаться по тому что нужно изменить, и обратно все это дело запаковать. Проблем не вижу.
Добавлено через 50 секунд
А в рантайме можно делать напрямую через сервер.
И наступить на те же грабли, на которые в своё время наступили феил.ру с аллодами.
Сообщений: 273
Тем: 4
Зарегистрирован: May 2010
Репутация:
2,953
Alay, Это еще не самое страшное.
Страшно внутри сервера - когда открываешь исходники. nichoci
И начинается бесконечное листание, туда-сюда, из класса в класс, а там класс на каждый пук и чих.
То, что может решиться 1 делают 5 - это если повезет - взять даже как устроен: персонаж, слуга, мирный житель, монстр, босс, предметы, итемы, скиллы, ... - это <матное слово> - так везде, далеко заходить не надо, на примере бд или работа с кешем, html, xml и в целом датапак.
Это означает, только одно - писалось на ходу, в целях изучения явки и игры и никаких не проектировок, никто ничего не продумывал, ничего не было - сходу-заработало, поехали дальше... Но не суть.
Ведь нашлись же те, кто не потерял время зря, копирнул, рефакторинг навел и толкает уже 10 лет, по этому им плевать, что мы тут пытаемся - они зарабатывают и головных болей у них нет.
Те кто покупают, явным образом не капельки не разбирается в этом и верят в красивые слова.
От суда вывод:
Большинство аудитории " верят в красивые слова подобные " клиент защита сервера ", потому что - исходя из фразы, большая часть слов, теряется в области видимости, ибо " верящий в красивые слова ", убедился, что они защищают сервер, а он искал именно это. Но головой то - не подумал, что он купил сервер, без защиты. При этом еще и разраб направил купить защиту. - это как минимум говорит о том, что сервер не безопасный и доверять таким продуктам не нужно.
Сообщений: 175
Тем: 14
Зарегистрирован: May 2014
Репутация:
292
снова он.. снова про защиту...
Сообщений: 287
Тем: 24
Зарегистрирован: Feb 2010
Репутация:
919
Anikey Написал:Alay, Это еще не самое страшное.
Страшно внутри сервера - когда открываешь исходники. nichoci
И начинается бесконечное листание, туда-сюда, из класса в класс, а там класс на каждый пук и чих.
То, что может решиться 1 делают 5 - это если повезет - взять даже как устроен: персонаж, слуга, мирный житель, монстр, босс, предметы, итемы, скиллы, ... - это <матное слово> - так везде, далеко заходить не надо, на примере бд или работа с кешем, html, xml и в целом датапак.
Это означает, только одно - писалось на ходу, в целях изучения явки и игры и никаких не проектировок, никто ничего не продумывал, ничего не было - сходу-заработало, поехали дальше... Но не суть.
Ведь нашлись же те, кто не потерял время зря, копирнул, рефакторинг навел и толкает уже 10 лет, по этому им плевать, что мы тут пытаемся - они зарабатывают и головных болей у них нет.
Те кто покупают, явным образом не капельки не разбирается в этом и верят в красивые слова.
От суда вывод:
Большинство аудитории " верят в красивые слова подобные " клиент защита сервера ", потому что - исходя из фразы, большая часть слов, теряется в области видимости, ибо " верящий в красивые слова ", убедился, что они защищают сервер, а он искал именно это. Но головой то - не подумал, что он купил сервер, без защиты. При этом еще и разраб направил купить защиту. - это как минимум говорит о том, что сервер не безопасный и доверять таким продуктам не нужно. Главное защитить ядро kappa
|