|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Взял за образец. Команда выполнилась 2 раза, разными способами. <...> И что мне это дало?Почитайте про SQL injection : раз , два ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 09:05 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, А как быть с тысячью клиентов? У каждого должна быть своя таблица, а клиентов будет не одна тысяча, имею ввиду именно онлайн. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 13:20 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911У каждого должна быть своя таблица Кому должна?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 13:36 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Ладно, может я не знаю всех особенностей СУБД. У каждого клиента будет от 200 и более параметров (начиная от логина/пароля и т.д.). Можно ли сделать все это в одной таблице, не потеряв в скорости чтения/записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 13:48 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Так же добавлю, что на сервере по таймеру (каждую минуту) для игроков в онлайне будут обновляться некоторые данные, в этой же таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 13:58 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Ладно, может я не знаю всех особенностей СУБД. Ладно AcTiViSioN911У каждого клиента будет от 200 и более параметров (начиная от логина/пароля и т.д.). Можно ли сделать все это в одной таблице, не потеряв в скорости чтения/записи? Чего не нужно делать точно, так это создавать по таблице на клиента. А вот будет ли таблица для параметров именно одна - это другой вопрос. М.б. их 2 будет, а м.б. 19. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 14:05 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Так же добавлю, что на сервере по таймеру (каждую минуту) для игроков в онлайне будут обновляться некоторые данные, в этой же таблице. Звучит как не очень хорошая идея. Не лучше ли менять данные по мере из фактического изменения? Игрок А стоит и афкает в тюрьме 329485 минут. Игрок Б только что приобрёл Сияющее Копьё Разгневанного Школьника. Неужели для них одинаково количество поводов писать что-либо в базу? IMHO, вам, AcTiViSioN911, весь этот разговор нужно отложить и заняться изучением проектирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 14:13 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Зайцев Фёдор, Так вот я сейчас и нахожусь на этой стадии. Мне необходимо знать максимальные размеры у таблиц, чтобы грамотно распределить данные. Таблицы для каждого пользователя - это я конечно загнул, меня просто интересует вопрос производительности. Какой предел параметров (столбцов) установить на каждую таблицу (100, 200 ... ), если брать в расчет запись и чтение каждую минуту для 1000 игроков. Хотелось бы грамотно их распределить. По поводу записей в таблицы. Пусть у игрока сейчас 1000 ед. какого-либо ресурса, а через 15 минут он захочет потратить 500 ед. Получается, что через 15 минут к его кредитам на счету добавятся еще 150 (по 10 в минуту), после чего будет списана сама стоимость покупки, за которой последует запись в таблицу (650). Как я думаю, это неплохая схема. Все остальные вычисления (как прибавляется по 10 ед. в минуту) будут происходить у клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 15:10 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Зайцев Фёдор, Так же добавлю, что при каждой авторизации игрока, это числа (например ресурсы) будут перезаписаны сервером, в одной они таблице или в нескольких. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 15:13 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Так же добавлю, что ... Текущее обсуждение несколько вышло за рамки раздела и топика. Могу добавить только, что на данном этапе разработки можно использовать любую СУБД. Момент, при котором вы столкнётесь с проблемами масштабирования и производительности не наступит в обозримом будущем - намного раньше придётся бороться с ошибками проектирования. Мне так кажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 15:29 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Как я думаю, это неплохая схема. Первое же отключение электричества заставит в этом усомниться. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 15:30 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911при каждой авторизации игрока, это числа (например ресурсы) будут перезаписаны сервером При такой архитектуре СУБД не только не нужна, но и вообще противопоказана. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 15:38 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
ИМХО элементарный анализ данных не проведён, а уже какой-то код написан, какая-то архитектура придумана. 1. Новый пользователь, какие у него в начале данные, какого объёма, как быстро они изменяются? 2. Пользователь плотно играет в игрушку год, какие у него в итоге данные, какого объёма? 3. Пользователь играет в течение года, но редко, какие у него в итоге данные, какого объёма? Ну и по каждому пользователю проанализировать частоту обращений и характер обращений к серверу. Как это зависит от геймплея? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 15:59 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
SergSuper, Да, я знаю как распределить данные чтобы получить более-менее адекватную БД, а все остальное придет с опытом. softwarer, В каком смысле? Данные из БД сотрутся? Быть может я недостаточно точно выразился. Число 1000 (как любой другой ресурс игрока) было записано 26.11.2014 в 12:00. И не важно когда произойдет их изменение (через 15 минут или 2 недели) - накапавшие за пройденное время ресурсы (скажем, 10 ед. в минуту) так или иначе добавятся к общему числу, когда это будет необходимо (авторизация клиента или совершение покупки). Dimitry Sibiryakov, Тогда где же мне хранить данные клиентов? Всего-то нужно иметь возможность быстро считывать и записывать строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 16:02 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
skyANAИМХО элементарный анализ данных не проведён, а уже какой-то код написан, какая-то архитектура придумана. 1. Новый пользователь, какие у него в начале данные, какого объёма, как быстро они изменяются? 2. Пользователь плотно играет в игрушку год, какие у него в итоге данные, какого объёма? 3. Пользователь играет в течение года, но редко, какие у него в итоге данные, какого объёма? Ну и по каждому пользователю проанализировать частоту обращений и характер обращений к серверу. Как это зависит от геймплея? Новый пользователь будет иметь все те-же таблицы что и плотно играющий 10 лет игрок. Разве что заполнены строки будут не числами а нулями/пустотой (как там позволяет БД). Игровые возможности уже практически расписаны, вскоре можно будет создавать, собственно, таблицы. Сейчас у меня готово то - регистрация\авторизация и некоторые стандартные таблицы. Если исходить из расчета, что у каждого игрока не будет своей таблицы, то тут даже проще - не было у человека автомобиля - и строки в таблице "Автомобили" нет. А как появился - так сразу новая запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 16:10 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Тогда где же мне хранить данные клиентов? Всего-то нужно иметь возможность быстро считывать и записывать строки. В файле. А файл - в файловой системе. Ты эта... определись: записывать строки или полное состояние персонажа по таймеру. Впрочем, от этого всего лишь зависит с какими флагами открывать этот файл... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 17:54 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
[AcTiViSioN911]Здравствуйте! До недавнего времени мой сервер на C# работал с MySQL. Однако со временем я задумался о масштабах игры, а где-то вычитал что MySQL "не лучшим образом справляется с многочисленным чтением\записью в таблицы". Так вот, что же все таки выбрать в моем случае? для хранения говноданных любая говносубд подойдет, даже MySQL. тем более что без MyISAM таблиц, на одном только Inno он не так уж и плох. Собственно, вот такие критерии: твои критерии наверняка не прокатят. я хрен знает как долго этим занимаюсь, и то критерии бы не смог сформулировать. 1) Максимальная скорость чтения\записи, в основном данные 1/0 или небольшие строки, не более. 2) Наличие бесплатной версии (например комьюнити мускул), ну или хотя-бы с адекватной ценой 3) Наличие коннектора C# (только без танцев с бубном, VS-2013) ну, один из критериев оказался таки все же приемлимым - чтобы бесплатно. тут сразу спектр резко сокращается. MySQL, fire bird, postgres. рекомендую остаться на мускле, заменив все на innodb. проблемы производительности решать про мере их появления, а не надумывать их. Оболочку для работы с БД я выбрал - Navicat Premium, очень удобная утилита. Однако, поддерживает она только MySQL, PostgreSQL, Oracle, SQLite и MariaDB. Если у вас будут предложения по другим СУБД, подскажите и оболочку т.к. с консолью возиться я не собираюсь.[/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 19:08 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Если у вас будут предложения по другим СУБД, подскажите и оболочку т.к. с консолью возиться я не собираюсь.[/quot] а, это тогда тебе увольняться надо по проф непригодности. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 19:09 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Dimitry Sibiryakov, О MS SQL оставляют по большей части отрицательные отзывы, к тому же стоит он как два слона. не читай надписи на заборах . инет длинный, а идиотов много. sqlserver замечательная СУБД и бесплатная версия у них есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 19:17 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
Вася Уткин, C в Acid это не внешние ключи ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 19:21 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
MasterZivВася Уткин, C в Acid это не внешние ключи А что это? Посмотрим, сумеете ли вы объяснить это автору топика короче и понятней, чем я :) C в Acid - согласованность - включает в себя в том числе и внешние ключи (остальная часть (C)согласованности сильно пересекается с A и I, т.к. достигается за их счет и за счет корректности SQL-statement-ов в транзакции, написанных разработчиком). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 19:51 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
MasterZiv, Все же рекомендуете innodb вместо Aria (noACID)? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2014, 19:51 |
|
СУБД для браузерной MMOG (C#)
|
|||
---|---|---|---|
#18+
AcTiViSioN911Dimitry Sibiryakov, Ладно, может я не знаю всех особенностей СУБД. У каждого клиента будет от 200 и более параметров (начиная от логина/пароля и т.д.). Можно ли сделать все это в одной таблице, не потеряв в скорости чтения/записи? Не можно, а НУЖНО ! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2014, 19:05 |
|
|
start [/forum/topic.php?fid=35&msg=38817329&tid=1552351]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 292ms |
0 / 0 |