Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Хранение данных: файлы vs MySQL
 
 автор: Drago   (24.01.2006 в 08:58)   письмо автору
 
 

Если не трудно, опишите все плюсы и минусы каждого из вариантов.

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

Но, если нужно сделать проект, например, он-лайн игру. С небольшой (большой) посещаемостью. Насколько сильно, файловая система хранения, будет уступать базе данных, и будет ли уступать вообще? И по каким критериям?

   
 
 автор: P@Sol   (24.01.2006 в 09:11)   письмо автору
 
   для: Drago   (24.01.2006 в 08:58)
 

похожая тема:
http://softtime.ru/forum/read.php?id_forum=1&id_theme=6489
http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1926

   
 
 автор: localGhost   (24.01.2006 в 09:17)   письмо автору
 
   для: P@Sol   (24.01.2006 в 09:11)
 

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

   
 
 автор: Loki   (24.01.2006 в 09:28)   письмо автору
 
   для: Drago   (24.01.2006 в 08:58)
 

Будет уступать по объему кода и затраченному на него времени. А если вам данные и обрабатывать нужно, то еще и по скорости.

   
 
 автор: cheops   (24.01.2006 в 13:49)   письмо автору
 
   для: Drago   (24.01.2006 в 08:58)
 

Процитирую сам себя :))) из http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1926:

База данных это следующий уровень абстракции данных по сравнению с файловой системой. По аналогии, это как переход от кодов к ассемблеру, когда не требуется запоминать много разных видов копирования и все они выполняются одной командой (машина сама определяет из контекста какой код нужно применить) или переход от ассемблера к языку высокого уровня, когда масса рутинных операций объединяются в конструкции языка.
Отсюда достоинства и недостатки. Многостраничный код при работах с файлами, часто можно заменить одной строкой при работе с базой данных. Читабильность программ возрастает многократно, как впрочем и время разработки, а количество глюков в программе падает. Можно сосредосточится на логике и не заботиться о реализации.
База данных проигрывает в скрости тем же плоским файлам, но так как PHP - интерпретатор, всё съедается неповоротливостью самого языка. Поэтому получить преимущество в скорости над базой данных, разработанной на С вряд ли получится. Кроме того, это преимущество можно получить только при записи и чтении, при операциях поиска база данных делает всех, так как она специально под это заточена. Можно сделать быстрый поиск и на файлах, но объём работы и сложность кода приблизит его к структуре базы данных - лучше воспользоваться готовым кодом, созданным и отточенным профессионалами в течении десятилетий, чем в течении нескольких лет делать свою собственную кривенькую базу на файлах.
Кроме того, проблемы одновременного доступа к файлам нескольких сотен человек решаются достаточно сложно - необходимо продумать гибкую схему управления файлами http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1870, базы данных спроектированы и предназначены для многопользовательского режима.
Поэтому всегда когда имеется возможность использовать базу данных, её следует использовать (если, конечно, не стоит задача разработки поисковой системы типа Google, а у вас не хватает несколько сотен серверов :).
Пожалуй существует одно исключение, базу данных не стоит использовать для хранения объёмных файлов - их лучше хранить на диске, так как они в большинстве случаев не перезаписываются, то одновременное обращение к ним нескольких пользователей не приведёт к проблемам, а большие массивы данных замедляют работу базы данных (ну это ко всему применительно, не только к базе данных).

PS Вообще когда я в первый раз познакомился с базами данных, я сразу понял, что с меня свалился огромный камень, так как отныне у меня освободится 50% времени при разработки приложений как на С, так и на PHP и Perl.

   
 
 автор: Loki   (24.01.2006 в 14:07)   письмо автору
 
   для: cheops   (24.01.2006 в 13:49)
 

>возрастает многократно, как впрочем и время разработки
а может время все-таки уменьшается?:)

   
 
 автор: cheops   (24.01.2006 в 22:50)   письмо автору
 
   для: Loki   (24.01.2006 в 14:07)
 

Ну ради красного словца изменил немного смысл :)))

   
 
 автор: Drago   (25.01.2006 в 08:36)   письмо автору
 
   для: cheops   (24.01.2006 в 22:50)
 

Спасибо за разъяснения. Осталось раздобыть хостинг с базой данных и перейдем к ее изучению. :)

   
 
 автор: Loki   (25.01.2006 в 10:06)   письмо автору
 
   для: cheops   (24.01.2006 в 22:50)
 

"возрастает многократно, как впрочем и скорость разработки"
Издение второе. Под редакцией Loki:)

   
 
 автор: FatBoy   (28.01.2006 в 12:20)   письмо автору
 
   для: Drago   (24.01.2006 в 08:58)
 

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

   
 
 автор: Ivan   (03.02.2006 в 07:58)   письмо автору
 
   для: FatBoy   (28.01.2006 в 12:20)
 

А я вот наоборот, с базами знаком поближе, чем с файлами, и ничего там сложного нет, по-моему.
Файлы сложнее :))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования