![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Zerony |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
Недавно возникла следующая перепалка:
Компания программистов сделала бесплатный движок, работающий на файлах. Они утверждали, что файлы будут работать быстрее, и меньше нагрузка на сервер. Движок предназначен для сателлитов, то есть все виды работы с файлами - примитивные,а именно - открыть и вывести. Больше ничего не надо было. Противники утверждали, что мол SQL сделали почти Боги, и он быстрее. Кто был прав? Рад был бы услышать полный, развернутый ответ. Заранее спасибо. |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
именно файлы файлы или sqllite?
|
|||
|
||||
ancad |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.1.2009 Репутация: нет Всего: нет |
Если данных мало, то и разницы в реализации не заметишь.
|
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Zerony, Ну, если по секрету, то sql база тоже работает на файлах.
Если кто-то там пытается на php парсить sql запрос и утверждает, что у него получится быстрее, чем у mysql - он скорее всего заблуждается. А если запросы в "базу" удастся свести к простому чтению из файла по смещению - почему бы и нет. Особенно если файлы удастся разместить в памяти. Задача, для которой сделана "база на файлах" никак не определена, так что конкретного ответа получить не получится. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
KLeonid |
|
|||
![]() Entropy ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 5.7.2007 Где: Shpongleland Репутация: 1 Всего: 1 |
Для высокой производительности лучше использовать noSQL СУБД. Они позволяют юзать SQL там, где это необходимо.
|
|||
|
||||
WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: 1 Всего: 5 |
Полностью согласен с KLeonid.
В рамках вышеуказанного вопроса, могу добавить от себя то, что приложения имеют обыкновение иногда расширяться. Когда приложение работает в рамках стандартной, годами отточенной технологии (то есть работа с данными контролируется проверенным, общепризнанным движком БД) - это гораздо лучше, оказывается в последствии, нежели чем изобретать что-то, что уже изобретено. Такое приложение проще доработать в случае необходимости, и так далее. Особенно, учитывая то, что компьютерные ресурсы всё дешевеют и дешевеют... К тому же, в том же MySQL есть достаточно быстрые типы таблиц, которые прекрасно подходят (на мой взгляд) для указанных Вами целей (то есть, преимущественно чтение) например те же MyISAM. По теме далее: если бы мне пришлось выбирать именно скорость работы (экономить миллисекунды процессорного времени) - я бы пожалуй взял файлы. А потом взял бы вообще С/С++, что бы совсем сэкономить время, а ещё лучше ассемблер и пытался бы писать на нём (ибо быстрее уже по моему некуда). Но, если бы задача звучала как: "структурированное, упорядоченное, структурированное хранение каких-либо данных" - я бы почти наверняка взял бы какую-нибудь БД (SQL/NoSQL - не суть, зависит именно от задачи) и работал бы именно с ней. Если бы вопрос стоял как: Что лучше: заплатить группе программистов, что бы она сделала бесплатный движок на файлах, что позволит сэкономить XX% ресурсов сервера или за эти деньги просто поставить чуть более мощный сервер и не забивать себе этим голову, полагаясь на многолетний опыт других людей? Я думаю, ответ был бы очевиден. Добавлено через 1 минуту и 48 секунд Голосую на БД! *не за какую-то конкретную, а за БД вообще -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
cia |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 15.1.2007 Репутация: 4 Всего: 4 |
Вопрос в целом, заключается в том, стОит ли использовать СУБД для сателлитов. Разве не так?
Я лично считаю что использовать БД не зачем: простой запрос к базе данных всё же выполняется немного медленнее чем простой инклюд файла. Хотя разница не велика. Но с другой стороны сателлит подразумевает в большинстве случаев просто вывод на экран страницы. И какой резон, спрашивается, хранить эту страницу в базе данных? При использовании базы данных появляется дополнительные требования к хостингу: нужна поддержка субд, кроме того чуть сложнее перенести сателлит на другой хостинг (если, конечно, не используется sqllite). Как-то давно я задался именно таким вопросом: какую цмс использовать для сателлитов? К своему удивлению ничего толкового не нашёл. Сделал сам, пользуюсь до сих пор. Работает без базы данных. В тех случаях, кодга она (бд) нужна, подключаю её в виде модуля. |
|||
|
||||
WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: 1 Всего: 5 |
cia, если рассматривать вопрос с этой стороны - то автору стоило бы уточнить вопрос, и задать его примерно в таком ракурсе: "Экономлю каждую миллисекунду процессорного времени. Что лучше использовать БД или файлы?".
-------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
cia |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 15.1.2007 Репутация: 4 Всего: 4 |
WolfAlone,
![]() Согласен, что вопрос производительности как бы ни на что не влияет. Но всё же ответ, я считаю, не так уж и очевиден: с одной стороны база данных упростит "прикручивание" какогонибудь дополнительного функционала, с другой стороны - собственно, необходимость использовать базу данных )). Поэтому, как ты сказал, голосую против БД! ![]() Когда делаешь большое количество таких маленьких сайтиков, то, по моему опыту, лучше обходиться без использования базы данных. Только по той причине, что меньше работы по настройке сайта. Зы. Кстати, часто движки для сателлитов, написанных "на коленках", не имеют (или не полностью реализовано) в настройках префикс для таблиц в базе данных. А вот это уже может стать проблемой, если на хостинге только одна база данных, а нужно разместить десяток сайтов. |
|||
|
||||
KLeonid |
|
|||
![]() Entropy ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 5.7.2007 Где: Shpongleland Репутация: 1 Всего: 1 |
А я вообще голосую за CMF (c ORM) + DB
![]() А потому гонясь за производительностью еще несуществующей системы, можно надолго отстать от конкурентов, и в конечном итоге получить пусть и быстро работающий, но уже устаревший, с точки зрения существующих на рынке предложений, продукт. |
|||
|
||||
cia |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 15.1.2007 Репутация: 4 Всего: 4 |
KLeonid, а ты вообще читаешь о чём тут речь?
![]() |
|||
|
||||
Zerony |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 21.12.2008 Репутация: нет Всего: нет |
Всем спасибо, я сделал выводы.
cia вы ответили именно на то, что я хотел услышать. ![]() |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Вопрос философский.. у меня давно есть самописный класс для работы с базой, основные функции и всё.. И никаких проблем никогда не испытываю с настройками.. А вот что касается файлов, то тут есть масса сложностей, вернее иногда возникает на отдельных хостингах, которые особо увлечены безопасностью.. Например, файлы при создании не получают именно те права которые хотелось, или файл созданный скриптом уже перестаёт быть доступным по FTP.. Я с этой проблемой сталкивался и не раз.. Так что не всё что файл есть хорошо... Это сообщение отредактировал(а) Gold Dragon - 15.4.2011, 07:31 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
cia |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 15.1.2007 Репутация: 4 Всего: 4 |
Я тоже сталкивался. И тоже недоволен подобным )). Но если файл создан скриптом, то он (скрипт) его всегда сможет изменить и удалить. Так что такие проблемы могут возникнуть лишь при переносе с одного хостинга на другой. К тому же на сервер загружаются картинки, ещё какие-то файлы... так что если геморрой с правами есть, то решать его придётся независимо от того используется база данных или нет. В то же время при переносе базы данных могут возникнуть проблемы с кодировкой (и по моему опыту возникают они чаще). Например, если не обратить внимание на кодировку базы данных, то на сайте может отображаться всё по русски, а вот при экспорте такой базы данных может случиться большой облом. И вообще я уже говорил, что вопрос этот хоть и простой, но ответ на него не однозначен. Я написал по своему опыту: в совокупности если цмс для подобных задач построена без использования базы данных, то это практичнее. |
|||
|
||||
Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
![]()
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |