Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Files vs MySQL

365
18 апреля 2005 года
MasterSID
230 / / 23.02.2003
Хотелось бы узнать что вы думаете об организации хранения информация в файлах и MySQL при создании движков сайтов, что предпочитаете и как организуете.
6.8K
18 апреля 2005 года
random
17 / / 27.08.2004
смотря что ты юзаешь....если перл, то логичнее использовать файлы, потому, как он специально придуман для обработки больших объёмов текста...
если пхп, то он наоборот гораздо удобоваримее работает с базами...
в общем выбор сводиться к выбору языка реализации...
перл мощнее...это почти полноценный язык
пхп шустрее, удобнее и легче...

ИМХО мускул гораздо удобнее файлов
да и вообще почти всё прогресивное человечество выбрало мускул и перл юзают либо извращенцы, либо при реализации совсем уж мощных задач

в общем на вкус и цвет все фломастеры разные
Аноним
Цитата:
Originally posted by MasterSID
Хотелось бы узнать что вы думаете об организации хранения информация в файлах и MySQL при создании движков сайтов, что предпочитаете и как организуете.



В общем-то есть личные причины для юза базы или файлов...
На файлах работают начинающие, и потом из них выростают
до организации СУБД.
Либо еще один момент, когда файлы используются в специфической задаче. Либо отсутствует база как обычно на фришном хостинге...

А в итоге все равно используются файлы во всех 100% сслучаев...
Ведь база тоже лежит в файлах. Просто она организована более "умно" и используется "прослойка", организовывающая работу с этими файлами.;)

4
19 апреля 2005 года
mike
3.7K / / 01.10.2002
В общем так.

Файлы работают намного быстрее, чем СУБД.

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

За исключаем этого случая (то есть в 99.9%) работать с файлами быстрее, чем с СУБД, так как все равно, СУБД хранит данные в тех-же файлах. (То есть является прослойкой между файлами и приложением)

Но при работе с файлами есть три недостатка, из-за которых проще использовать СУБД

1. Сложность организации связанных и/или структурированных данных.
2. Сложность произвольного удаления/вставки данных.
3. Сложность построение индексов и хэшей.

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

Только нужно понимать, что проектировать систему придется с учетом особенности работы с файлами.

Более того, можно отказаться от использования файлов и напрямую работать с разделом диска или диском целиком или даже массивом дисков.

Вот простой пример:

http://top.novgorod.ru
(он же: http://www.warlog.info/)

Изначально система писалась на MySql. От MySql пришлось отказаться из-за блокировок таблиц и проблемой с производительностью.

(Основная проблема была в том, что сложная выборка из таблицы работает достаточно долго. Само по себе это не страшно, так как генерация отчетов может занимать определенное время. Основная проблема была в том, что на эти пол секунды в таблицу нельзя было ничего записать. А записать туда за эти пол секунды хотели около 200 процессов. Все они выстраивались ждать...и устраивали "To Many Connections")

Потом все было переписано под Oracle. От него пришлось отказаться из-за производительности. Слава богу, с блокировками там все нормально.


А потом все было сделано с помощью простых файлов. (Как сказать простых...были применены хитрые древовидные структуры и бинарные логи)

Скорость выросла просто на порядок. И никаких проблем с производительностью....
287
19 апреля 2005 года
Shiizoo
958 / / 14.03.2004
=)ъ де, человек дельное дело говорит, Mike то биш.

А вот по поводу perl'а несоглашусь. Perl rox, и при наличии "прямых" рук это очень и очень мощный инструмент особенно при написании CGI-приложений, потому как много работы с текстом. А php всего лишь удобнее, проекты на нем пишутся намного быстрее из-за его адаптированности к определенным связкам серверных приложений. Синтаксис php уступает perl'у на порядок, если не более.

А если уж серьезный проект, то это c,cpp,kylix и прочие.
4
20 апреля 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Shiizoo
=)ъ де, человек дельное дело говорит, Mike то биш.

А вот по поводу perl'а несоглашусь. Perl rox, и при наличии "прямых" рук это очень и очень мощный инструмент особенно при написании CGI-приложений, потому как много работы с текстом.



По поводу Perl могу сказать только то что он умрет при работы с большими файлами на вот таком простом примере:

 
Код:
open(FILE,"file.txt");
while (<FILE>) {}
close(FILE);


Это может показаться последовательным чтением, но это не так !!

Цитата:

А если уж серьезный проект, то это c,cpp,kylix и прочие.



Серьезный проект под Web устанешь писать на Сях или Delphi. Должно быть что-то масштабируемое и адаптированное. Например Java.

8.7K
22 апреля 2005 года
begin
18 / / 17.03.2005
А кто-нибудь работал на perl с другими базами данных, не mysql? Их много разных... Каковы особенности, преимущества? Зачем-то же их придумали...
365
24 апреля 2005 года
MasterSID
230 / / 23.02.2003
Цитата:
Originally posted by begin
А кто-нибудь работал на perl с другими базами данных, не mysql? Их много разных... Каковы особенности, преимущества? Зачем-то же их придумали...


Майк, а как вы организовали хранение информации в файлах? В смысле по какому принципу?

4
24 апреля 2005 года
mike
3.7K / / 01.10.2002
Связка Apache + Perl + Oracle очень популярня в системах с большой нагрузкой.
4
24 апреля 2005 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by MasterSID
Майк, а как вы организовали хранение информации в файлах? В смысле по какому принципу?



По принципу минимизации объема считываемых/записываем данных и выстраиванию всех данных таким образом, чтобы все операции чтения/записи были последовательными.

9.6K
25 апреля 2005 года
SwakeR
10 / / 16.04.2005
Хммм.. а если писать на Си, он гараздо быстрее перла или PHP,так как компилируемый, и чтобы выполнить его код не надо лишний раз загружать интерпритатор, Си неплоха работает с Базами и с файлами. Так что думаю лучше всеже использовать компилируемые языки программирования, но это имхо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог