Что быстрее ? ( серверная часть) оффтопик

 

Всем привет !

К Mql4 не относится, но кодинг задивает. 

Не могу определится на чём лучше делать... 

Базы данных

Преимущества: 
Можно легко добавлять или модифицировать поля.
Изменение статистики об игроке (не из игры) гораздо проще
Вы можете быстро и эффективно получать различную статистику, используя SQL запросы
Нет необходимости создавать операции ввода/вывода в файл, база данных все это сделает за Вас
Легко обновлять и восстанавливать


Недостатки: 
Легко допустить ошибки. Например, выполнение запроса с забытым оператором ’where’. Это может иметь катастрофические последствия, особенно если у Вас есть только старые (или нет совсем) бэкапы
Работа с базой данных может происходить медленней, чем работа с файлом игрока напрямую. Вы можете потерять несколько миллисекунд, когда получаете данные, особенно если большое количество игроков в одно и то же время входят/выходят из игры
Требуется писать дополнительный код для конвертации Ваших данных в/из базы данных
Требуется опыт работы с базами данных и языком запросов SQL. Также необходимы библиотеки для организации взаимодействия между приложением и базой данных
Если по каким-то причинам файлы базы данных будут повреждены, то Вам не повезло. Вы можете потерять всех игроков (особенно если нет свежего бэкапа)


Файлы

Преимущества: 
Очень быстрый доступ (чтение/запись)
Легко имплементируется
Не нужны дополнительные библиотеки
Нет зависимости с сервером базы данных. Поэтому, Вам не нужно заботится о получении обновлений и заплаток для базы данных


Недостатки:
Может быть довольно проблематичным добавить новые поля, если вы предварительно не продумали формат и структуру файла
Невозможно сделать запрос по большому количеству игроков (эту проблему можно решить, используя программу, которая каждую ночь добавляет важные данные на сервер базы данных)
Требуется написание специального кода, для возможности обновления/проверки статуса игроков
Немного сложнее для выполнения операций обновления и восстановления

Сервер будет на пределе вкалывать... обсчетов достаточно много, недостатки везде терпимые, важна скорость ( игровой сервер... )

Может быть кто имел опыт работы в плане создания серверных сторон, и подскажет что лучше выбрать. 

 
Panzer >>:
...

Может быть кто имел опыт работы в плане создания серверных сторон, и подскажет что лучше выбрать.


базу данных лучше

 

базы для того и придумали. чтоб в одном флаконе все это прокручивать.


// Легко допустить ошибки. Например, выполнение запроса с забытым оператором ’where’. Это может иметь катастрофические последствия, особенно если у Вас есть только старые (или нет совсем) бэкапы //


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


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


если анкетки файлы на кажого игрока то упретесь в скорость винтов а эт все одно гораздо медленнее чем прокрутить базу. что проще мацать груду файликов или один ?


// Требуется писать дополнительный код для конвертации Ваших данных в/из базы данных//


это не смешно а грустно обычная msql которая шаровая вполне себе в юникоде живет. а на листике один фиг надо будет думать с типами кодировки.


//Требуется опыт работы с базами данных и языком запросов SQL. Также необходимы библиотеки для организации взаимодействия между приложением и базой данных//


для всего требуется опыт. работа с базой гораздо более прозрачная чем парсеры.


//Если по каким-то причинам файлы базы данных будут повреждены, то Вам не повезло. Вы можете потерять всех игроков (особенно если нет свежего бэкапа)//


про надежность груды маленьких фалов и одного файла промолчу. msql хорошая плптформа - вон гугель юзает и ничего за всю историю потеряли меньше процента чатов.

 

продолжу



Файлы

Преимущества:
Очень быстрый доступ (чтение/запись)
Легко имплементируется
Не нужны дополнительные библиотеки
Нет зависимости с сервером базы данных. Поэтому, Вам не нужно заботится о получении обновлений и заплаток для базы данных



//Очень быстрый доступ (чтение/запись)// при большом объеме постоянно сношать винчестер.

//Легко имплементируется// нет у меня возражений

//Не нужны дополнительные библиотеки// очень простой наверно бланк. и мало полей я так подозреваю

//Нет зависимости с сервером базы данных. Поэтому, Вам не нужно заботится о получении обновлений и заплаток для базы данных// есть зато зависимость от сервера на котором сидишь.