Files vs MySQL
если пхп, то он наоборот гораздо удобоваримее работает с базами...
в общем выбор сводиться к выбору языка реализации...
перл мощнее...это почти полноценный язык
пхп шустрее, удобнее и легче...
ИМХО мускул гораздо удобнее файлов
да и вообще почти всё прогресивное человечество выбрало мускул и перл юзают либо извращенцы, либо при реализации совсем уж мощных задач
в общем на вкус и цвет все фломастеры разные
Хотелось бы узнать что вы думаете об организации хранения информация в файлах и MySQL при создании движков сайтов, что предпочитаете и как организуете.
В общем-то есть личные причины для юза базы или файлов...
На файлах работают начинающие, и потом из них выростают
до организации СУБД.
Либо еще один момент, когда файлы используются в специфической задаче. Либо отсутствует база как обычно на фришном хостинге...
А в итоге все равно используются файлы во всех 100% сслучаев...
Ведь база тоже лежит в файлах. Просто она организована более "умно" и используется "прослойка", организовывающая работу с этими файлами.;)
Файлы работают намного быстрее, чем СУБД.
Исключение могут составить только СУБД, которые хранят все данные в памяти. Например, таблицы HEAP в MySql.
За исключаем этого случая (то есть в 99.9%) работать с файлами быстрее, чем с СУБД, так как все равно, СУБД хранит данные в тех-же файлах. (То есть является прослойкой между файлами и приложением)
Но при работе с файлами есть три недостатка, из-за которых проще использовать СУБД
1. Сложность организации связанных и/или структурированных данных.
2. Сложность произвольного удаления/вставки данных.
3. Сложность построение индексов и хэшей.
Если пишется проект с серьезной нагрузкой, то переход на использование файлов/файловой системы может на порядок увеличить скорость работы все системы.
Только нужно понимать, что проектировать систему придется с учетом особенности работы с файлами.
Более того, можно отказаться от использования файлов и напрямую работать с разделом диска или диском целиком или даже массивом дисков.
Вот простой пример:
http://top.novgorod.ru
(он же: http://www.warlog.info/)
Изначально система писалась на MySql. От MySql пришлось отказаться из-за блокировок таблиц и проблемой с производительностью.
(Основная проблема была в том, что сложная выборка из таблицы работает достаточно долго. Само по себе это не страшно, так как генерация отчетов может занимать определенное время. Основная проблема была в том, что на эти пол секунды в таблицу нельзя было ничего записать. А записать туда за эти пол секунды хотели около 200 процессов. Все они выстраивались ждать...и устраивали "To Many Connections")
Потом все было переписано под Oracle. От него пришлось отказаться из-за производительности. Слава богу, с блокировками там все нормально.
А потом все было сделано с помощью простых файлов. (Как сказать простых...были применены хитрые древовидные структуры и бинарные логи)
Скорость выросла просто на порядок. И никаких проблем с производительностью....
А вот по поводу perl'а несоглашусь. Perl rox, и при наличии "прямых" рук это очень и очень мощный инструмент особенно при написании CGI-приложений, потому как много работы с текстом. А php всего лишь удобнее, проекты на нем пишутся намного быстрее из-за его адаптированности к определенным связкам серверных приложений. Синтаксис php уступает perl'у на порядок, если не более.
А если уж серьезный проект, то это c,cpp,kylix и прочие.
=)ъ де, человек дельное дело говорит, Mike то биш.
А вот по поводу perl'а несоглашусь. Perl rox, и при наличии "прямых" рук это очень и очень мощный инструмент особенно при написании CGI-приложений, потому как много работы с текстом.
По поводу Perl могу сказать только то что он умрет при работы с большими файлами на вот таком простом примере:
while (<FILE>) {}
close(FILE);
Это может показаться последовательным чтением, но это не так !!
А если уж серьезный проект, то это c,cpp,kylix и прочие.
Серьезный проект под Web устанешь писать на Сях или Delphi. Должно быть что-то масштабируемое и адаптированное. Например Java.
А кто-нибудь работал на perl с другими базами данных, не mysql? Их много разных... Каковы особенности, преимущества? Зачем-то же их придумали...
Майк, а как вы организовали хранение информации в файлах? В смысле по какому принципу?
Майк, а как вы организовали хранение информации в файлах? В смысле по какому принципу?
По принципу минимизации объема считываемых/записываем данных и выстраиванию всех данных таким образом, чтобы все операции чтения/записи были последовательными.