Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> онлайн шашки, PHP + MySQL 
:(
    Опции темы
Tutti
Дата 8.2.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 7.2.2008

Репутация: -1
Всего: нет



Если написать онлайн шашки на PHP с использованием MySQL , т.е. каждый ход записывать в БД и проверять правильность хода на основе данных БД. Это будет сильно грузить сервер?


 ! 
MoLeX
Вопрос в разделе не по теме. В следующий раз будет предупреждение!!!
и -1 тебе


Это сообщение отредактировал(а) MoLeX - 8.2.2008, 10:24
PM MAIL ICQ   Вверх
GeneralElectric
Дата 8.2.2008, 10:24 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Непонятно, откуда возьмется нагрузка. У тебя игоки делают по несколько сот ходов в секунду?
И непонятно, зачем вообще ходы записывать в БД. Для истории?

PM MAIL   Вверх
solenko
Дата 8.2.2008, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



Смотря как написать. Например, никто не заставляет каждый раз восстанавливать каждый раз все ходы от начала партии -- можно просто хранить сериализованный объект доски.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
MoLeX
Дата 8.2.2008, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(GeneralElectric @  8.2.2008,  10:24 Найти цитируемый пост)
И непонятно, зачем вообще ходы записывать в БД. Для истории?

хотя бы и для этого. 


Цитата(Tutti @  8.2.2008,  10:15 Найти цитируемый пост)
Это будет сильно грузить сервер

все зависит от того сколько человек будет одновременно играть (хотя скорей всего так: сколько человек будет одновременно посылать данные) и как составишь БД.

Добавлено через 1 минуту и 2 секунды
да, тут лучше использовать связку PHP + MySQL (или файлы) + AJAX, т.к. людям точно не понравится постоянное обновление... 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
solenko
Дата 8.2.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



GeneralElectric, нагрузка возмется от большого количества пользователей. 
Ходы... записывать обязательно иначе грош цены такому сервису, который не дает проанализировать партию.


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Tutti
Дата 8.2.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 7.2.2008

Репутация: -1
Всего: нет



solenko, может канечно глупый вопрос, но что такое - сериализованный объект доски?
PM MAIL ICQ   Вверх
GeneralElectric
Дата 8.2.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



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

Да, и записывать надо каждый ход, конечно же, как только он сделан. В отдельную строчку в БД.
Получится отличная таблица. 

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


Это сообщение отредактировал(а) GeneralElectric - 8.2.2008, 10:45
PM MAIL   Вверх
solenko
Дата 8.2.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



GeneralElectric, бд не не объект фетиша, а инструмент длч хранения данных и манипуляции ими. И в идеале, она применяется по назначению а не для построения базы с огромным количеством зависимостей просто для того чтобы потом на схему любоваться.
Цитата

Да, и записывать надо каждый ход, конечно же, как только он сделан. В отдельную строчку в БД.
Получится отличная таблица. 

Сервера баз данных для того и создаются чтобы управлять таблицами, количество строк в которых исчислятся миллионами. И, поверьте, они с этим справляются на ура. А запись каждого хода -- необходимость. Если вы прочитаете внимательнее мой прошлый пост, то заметите там причину.

Это сообщение отредактировал(а) solenko - 8.2.2008, 10:55


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Tutti
Дата 8.2.2008, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 7.2.2008

Репутация: -1
Всего: нет



GeneralElectric, Как бы ты стал(а) решать такую задачу? Если после игры человек захочет посмотреть всу сделанные ходы.
 

PM MAIL ICQ   Вверх
GeneralElectric
Дата 8.2.2008, 11:01 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 797
Регистрация: 11.1.2008

Репутация: 13
Всего: 16



Скидывал бы ходы в файл. Ну, или писал их целиком в БД, в одну запись, по завершении партии.
solenko, не понимает одну вещь. Что хранение и запись - это противоположные задачи. И одновременно выполняться не могут.
Да, сервера баз данных для того и создаются чтобы управлять таблицами, количество строк в которых исчислятся миллионами.
вот только при управлении такой таблицей приходется выбирать, что мы будем  делать с этой таблицей - записывать в неё, или делать выборки. Одновременно не получится.
Применительно к озвученной задаче.

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

Это сообщение отредактировал(а) GeneralElectric - 8.2.2008, 11:05
PM MAIL   Вверх
solenko
Дата 8.2.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67



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


GeneralElectric, с каких пор и в каких субд операция записи блокирует таблицу целиком и тем более для чтения?


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
CyClon
Дата 8.2.2008, 17:46 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: 3
Всего: 4



PHP и MySQL конечно хорошо, но я плохо себе представляю, как это все будет выглядеть без JavaScript и, в частности, AJAX.


--------------------
user posted image
PM   Вверх
FractalizeR
Дата 8.2.2008, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 27.12.2007
Где: Россия/Москва

Репутация: 2
Всего: 4



Цитата(GeneralElectric @ 8.2.2008,  11:01)
Чтобы вставить одну строку в такую таблицу - надо перестроить весь индекс.
Если делать вставки часто, то перестроение индексов просто положит всю базу.
Следовательно, если делать частые вставки, то надо отказаться от индексов. Если отказываемся от индексов, то отказываемся от выборок. Если нам не нужны выборки, тогда непонятно, зачем нам вообще была нужна база данных

Я так понимаю, все это образно. Вставка строки в таблицу отнюдь не требует перестройки ВСЕГО индекса, иначе грошь ему цена такому индексу.


--------------------
Чтобы поблагодарить или наоборот поругать участника форума лучше пользоваться значками "+" и "-", изменяющими репутацию. Они находятся слева от поста под именем пользователя.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1014 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.