Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
4:20
990
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Общий игровой форум-->
<<|<|14|15|16|17|18|19|20|21|22|23|24|>|>>

Автор[HWM Daily] Расширенная статистика по войне с гномами
савиршенна не хвакт... иба, если бы одмены сделали подобную глупость(а именно создали бы где-то в таблицах поле "номер кланзаявки"... это на 1-то ивент!) - игра бы просто повисла... ибо... колличество связей(и их динамического обновления, индексации) увеличилось бы нааа... кол-во кланзаявок*кол-во_кланов*кол-во_кланпереходов*кол-во игроков... дето так... я ужо не грю про увеличение занимаемого места на серверах... вощем, настал бы полный амбец...

Нда, зря ты говорил что-то про программистское образование.
С точки зрения архитектуры, во-первых, имеет смысл создавать под ивент, по которому надо будет считать разнообразную статистику, отдельную табличку для инфы по результатам боев. Так как шерстить несколько десятков миллионов боев, выбирая из них гномоивентные, просто глупо.

Ивент не поточный, а штучный, пхп для него отдельная - логично было бы и в БД иметь отдельную структуру.

А так - табличка, в которую сама гном_вар.пхп пихает инфу, общая структура - суррогатный айдюк, айди боя, номер клана (null для диких), исход (0-1), в каком секторе дело было, атака это или защита (опять же 0-1), шесть айдюков участников, по шесть полей для исхода по экспе, умелке, очкам. Элементарной группировкой с аггрегированием получается все, что угодно. Табличка, бо содержит одни числа, весьма неширокая. С учетом того, что боев 200к, она и в целом весьма невелика, любые статистические оценки на ней должны отрабатывать бодро и шустро. Индексы необходимые на табличке в 200к строк тоже много места не займут... да и еще вопрос - нужны ли они.

Про динамическое обновление и индексацию ты отжег =) Реально лол. То есть ты считаешь, что клановый бой через пару дней может стать неклановым? Или через недельку число очков за этот бой изменится? Иногда лучше жевать, честное слово.
для Maxter:
+1
Согласен. Не очень хочется быть в одном клане с неадекватами:)
Кстати, лучше даже схема в виде двух табличек, одна описанная выше за вычетом инфы в отдельную табличку "исход боя для игрока". Там суррогатный айдюк свой, айдюк игрока, айдюк из таблички ивентной (типа в каком бое был исход), результат игрока по экспе, умелке, очкам.

Архитектурных решений может быть много разных, но итог прост - без проблем делается структура, с которой все правильным образом снимается. И, что характерно, влет.
Нда, зря ты говорил что-то про программистское образование.
Против сэра ничего не имею, но из жизни пример:
У меня в группе такие перцы есть, которые на красный диплом в смысле, что о БД, к примеру, вообще не бум-бум, хотя в дипломе напишут: "математик-программист".
Архитектурных решений может быть много разных, но итог прост - без проблем делается структура, с которой все правильным образом снимается. И, что характерно, влет.
Ага, решений море, а админы наши не дураки, раз такой проект состряпали. )
админы наши не дураки

Факт - все имеющиеся статистические и исторические данные (просмотр боя, батлчат, просмотр игры в карты, протоколы всяческие) - в отчет собираются мгновенно. То есть в смысле оптимизации запросов у админов все в порядке. Проекту два года, стало быть, архитектура вполне на уровне - иначе давным-давно бы посыпалось, наплевав на мощность серверов.
Игнациус 352
*Угу админы только на этот инвент решили клановые заявки считать, а на предидущих инвентах не обкатывали систему ни разу... *

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

OwenWM 361
в том-то и дело, что приоритетна не статистика, а динамика боев, их "грузибельность"...

*Так как шерстить несколько десятков миллионов боев, выбирая из них гномоивентные,*
для последующей(!!!) статистики - лихко...)
*по шесть полей для исхода по экспе, умелке, очкам*
итаво=18...)

*Про динамическое обновление и индексацию ты отжег =) *
рассказую... с моего имхо(о важности динамики прохождения боев):

игрок клана К создает заявку-("К" - заносиццо в фильтр совмесно с каким-нибуть END) - все, вступающие после него, сравниваюццо с "К" - бой проходит, инфа о нем заносиццо в классические(а не спецом под ивент созданные) таблицы и... номер кланзаявки - никак не фигурирует ни в одной БД...О_О... что - значительно снижает нагрузки на бои...
(и кстате, кланзаявок в десятиминутке было более 30-40... бггг... их даже ночью было больше 20...)
а бои гномоивента - просто фильтруюццо по айди противника... ну и правильность послед. "статистики" - на лице...)


ПыСы: все это - совмесные гадания на гуще... апять же, без формы запроса - ниче нельзя сказать...
но выдавать такую "статистику" за реал - все же не стоит...
номер кланзаявки - никак не фигурирует ни в одной БД...О_О... что - значительно снижает нагрузки на бои...
Ага, тебе лично выдали пароль от всех БД )

Короче, с тобой я пас, может OwenWM ещё что скажет.
*Ага, тебе лично выдали пароль от всех БД )*

павтаряю:
ПыСы: все это - совмесные гадания на гуще... апять же, без формы запроса - ниче нельзя сказать...
но выдавать такую "статистику" за реал - все же не стоит...
рассказую... с моего имхо(о важности динамики прохождения боев):

игрок клана К создает заявку-("К" - заносиццо в фильтр совмесно с каким-нибуть END) - все, вступающие после него, сравниваюццо с "К" - бой проходит, инфа о нем заносиццо в классические(а не спецом под ивент созданные) таблицы и... номер кланзаявки - никак не фигурирует ни в одной БД...О_О... что - значительно снижает нагрузки на бои...
(и кстате, кланзаявок в десятиминутке было более 30-40... бггг... их даже ночью было больше 20...)
а бои гномоивента - просто фильтруюццо по айди противника... ну и правильность послед. "статистики" - на лице...)


Создается строчка в стандартной некоей интерфейсной и уже существующей даже, возможно, таблице - "открытые для вступления бои", типа того, что по ссылке битвы-групповые, битвы-дуэли. С меткой про клан (оно тем более уже есть). Разве что допустить до 9 вступивших (против 3 имеющихся) и ограничение по левелу сделать 5-14. Если сущности "участник заявки" и "заявка" разнесены по разным таблицам, то структуру БД вообще менять не надо.

Далее начинается бой - создается запись в табличке с боями. Есть также два варианта по окучиванию изменения числа боев на страничке "персонаж" - либо сурово хранить эти данные в инфе перса (учитывая объемы, думаю, так и делается), либо на лету собирать, тогда еще создается запись в доптаблице "бои против гномов" и три-шесть-девять строк в доптаблице "исход боя против гномов", пока пустые.

Бой заканчивается - записи "исход боя против гномов" создаются с нужными данными (или апдейтятся, если уже были созданы - что для OLTP-системы такого масштаба мне видится неоптимальным).

Итог - весь имеющийся функционал эксплуатируется в полный рост и не требует доработок; для любой статистики и любых вычислений "а вот кому сектор" есть пара табличек, выборки из которых на несколько порядков легче и заточены под то, что надо видеть. Все твои идеи просто надуманны и к нормальным архитектурным решениям отношения не имеют никакого.

И ни при каких условиях нельзя строить аггрегированием статистику по таблице с 60 миллионами строк в OLTP-базе, когда реальных данных там от силы в 200 тысячах.
для MarM:

Журналюга явно кое-что подправил..
А если это админские циферки?))

Думаешь админам занятся нечем?
для Dagnir:
а ты думаешь журналистов допустили до статистических данных в бд игры, или они каким-то непостижимым образом собрали эти данные сами? %)
ПыСы: все это - совмесные гадания на гуще... апять же, без формы запроса - ниче нельзя сказать...

Нет. Возможны различные реализации, которые будут работать; моя - лишь предположение. А твои предположения просто работать не могут, потому не могут быть верны. Мы же видим: игра работает, все летает шустро.

Кроме того, админы - люди с головой. И ясно, что считать статистику вида "число очков, полученных в клановых заявках" они затачивались изначально, это декларировалось. Ясно, что это отличается от твоих фантазий про "а если вот вася вне клана бой, а потом в клан и еще бой, тут наверняка два боя посчитают" радикально.
но выдавать такую "статистику" за реал - все же не стоит...

Журналисты не могли придумать эти цифры сами. По массе причин.
Крайне маловероятно, но возможно, что пару цифирек исправили - но я в это не верю (нет оснований считать кого-либо из журналистов лжецом), и это надо доказывать. А не доказывать обратное. Помним - презумпция невиновности.

Так что это реальное состояние дел. Знакомься.
для KoNniK:
он свято верит в то что журналисты не спали ночами и собирали данные, и собрали их так что оклеветали титанов
Журналисты не могли придумать эти цифры сами. По массе причин.

Да и вряд ли "Вторые древнейшие" выдумывая циферки нарисовали бы такие ровные значения. Хотя совпадения еще те - 2-а клана с ротацией и у обоих ровные циферки :)
он свято верит в то что журналисты не спали ночами и собирали данные, и собрали их так что оклеветали титанов Брось, его версия что всё просто из пальца высосали и всё тут...
Есть хорошая японская поговорка: того,кто побеждает мечом,легко свалить сплетней и разжиганием вражды.
для Balmung:
Именно, у вас была ротация - это факт и ничего с этим не поделаешь. Кто тут виноват - может быть несколько мнений. Имхо в первую очередь просчитались админы, а на войне все средства хороши... Но вот искать грешки там, где их нет, и необоснованно вопить о них на форуме только потому, что сами не чисты, - это не очень красиво, не так ли?
До чего все же раздражают бестолковые люди,которые не даже не удосужившись заглянуть в протокол клана,продолжают писать напетое желтой прессой.
Да,за Титанов в войне участвовало 300 человек,только это результат того,что клан улучшал состав бойцов,выводя тех,кто провел пару боев и пропал,кто не мог проводить 7 боев в день.Кого то выводили по договоренности,с приемом после войны без взноса ,кого то в виду отсутствия в игре,уведомляли письмом.
Ротация же,в которой вы пытаетесь нас обвинить,состоит в замене игроков,отыгравших 7 боев ,на свежих бойцов.Сколько вы лично насчитаете таких случаев в нашем протоколе?
Советую вам заиметь свой,личный мозг,это пригодится вам не только в игре.
а ты думаешь журналистов допустили до статистических данных в бд игры, или они каким-то непостижимым образом собрали эти данные сами?

А как по твоему это сделал Maximum_Damange?
У него целый сайт статистики и непохоже что бы данные к нему поступали прямиком от админов...
OwenWM
исчо рас... приоритетность - динамике боев... а она, динамика - была, ибо при 12,5к онлайна - жалоб на зависы было минимум... за что - огромный респект одменам...)))
и любая доптаблица - касаеться ВСЕХ 700к с чем-то там учасников проэкта, у этой таблицы будут связи со всеми другими, будет куча индексов... работоспособность всей системы падает обратно пропорционально числу индексов, праймари и связей... о тригерах я ваще малчу... хм... нет, имхо, не создавали они таблиц для ивента - тока софт... исключение - секторное разделение...

*И ни при каких условиях нельзя строить аггрегированием статистику по таблице с 60 миллионами строк в OLTP-базе*
статический запрос "бои с гномами", фильтр - айди "гномы-захватчики"...
все последующие запросы - обращаються к статическому...) но это ужо ПОСЛЕ ивента... а не во время его...
Тема давно не обновлялась и считается устаревшей для дальнейшего обсуждения.

<<|<|14|15|16|17|18|19|20|21|22|23|24|>|>>
К списку тем
2007-2025, онлайн игры HeroesWM