PDA

Просмотр полной версии : Files VS MySQL


vorona
28.12.2009, 17:27
Какие плюсы и минусы сайтов, постоенных отдельно на ФС и БД?

ReduKToR
28.12.2009, 17:34
НУ на файлах небудет никаких sql inj,да и при переезде на другой хостинг никаких проблем...все перекинул и все........

Хотя файлы как то по ламерски,и менее функционально

Ты скажи,что хочешь писать,и мы тебе конкретно ответим

mailbrush
28.12.2009, 17:34
MySQL - это всего лишь база данных. Сайт на одной MySQL ты никак не построишь...
То же самое и на файлах. Хотя... Сайт на файлах сделать можно, но это уже будет быдлокодинг, т.к. опытные, да и вообще любые, кодеры не пишут сайты только на файлах. А вот если взять файлы + СУБД, то получиться отличный сайт.

vorona
28.12.2009, 17:40
НУ на файлах небудет никаких sql inj,да и при переезде на другой хостинг никаких проблем...все перекинул и все........

Хотя файлы как то по ламерски,и менее функционально

Ты скажи,что хочешь писать,и мы тебе конкретно ответим
По первому предложению - ага, согласен.
По второму - ну почему же...
Новостной сайт.

mailbrush
28.12.2009, 17:40
НУ на файлах небудет никаких sql inj,да и при переезде на другой хостинг никаких проблем...все перекинул и все........
Если руки прямые, то и на БД не будет никаких инъекций, да и с переездом тоже проблем не будет, так что не советую новичкам всякую фигню...

vorona
28.12.2009, 17:42
MySQL - это всего лишь база данных. Сайт на одной MySQL ты никак не построишь...
То же самое и на файлах. Хотя... Сайт на файлах сделать можно, но это уже будет быдлокодинг, т.к. опытные, да и вообще любые, кодеры не пишут сайты только на файлах. А вот если взять файлы + СУБД, то получиться отличный сайт.
Дело в том, что я 2 года писал на файлах. И я привык к работе в ФС. Сейчас вот хочу начать использовать БД, но как-то не по себе теперь. Что делать?

vorona
28.12.2009, 17:44
И я бы не сказал, что уровень умения кодера оценивается по том, пишет он в ФС или БД. В ФС можно писать не хуже, чем БД. Это факт.

Osip
28.12.2009, 17:46
но как-то не по себе теперь. Что делать?
:D

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

vorona
28.12.2009, 17:54
:D

Ничего сложного, потратить время на изучение работы вашего языка в сочетании с выбраной судб =)
Та это я изучил ещё в самом начале :) Но как-то для себя выбрал ФС, а не БД.

mailbrush
28.12.2009, 18:03
Дело в том, что я 2 года писал на файлах. И я привык к работе в ФС. Сейчас вот хочу начать использовать БД, но как-то не по себе теперь. Что делать?
Зря ты эти два года на файлах писал... С СУБД намного удобнее и быстрее.

vorona
28.12.2009, 18:20
Зря ты эти два года на файлах писал... С СУБД намного удобнее и быстрее.
ну на вкус и цвет товарищей нет)

.Life
28.12.2009, 18:32
MySQL
СУБД

rushter
28.12.2009, 18:45
Дело в том, что я 2 года писал на файлах. И я привык к работе в ФС. Сейчас вот хочу начать использовать БД, но как-то не по себе теперь. Что делать?
Я промолчу.

Ctacok
28.12.2009, 18:46
Естественно MySQL это для удобности и т.п.
А на файлах, тоже можно сделать сайт, но будет смотреться не професионально.

LStr1ke
28.12.2009, 18:58
SQL тоже файлы )
Все дело в скорости выполнений запросов и удобстве... =\
Что будет быстрее, запрос к БД или построковое\побайтовое чтение файлов? Что если "одновременных" пользователей - тысяча?
А на файлах, тоже можно сделать сайт, но будет смотреться не професионально.
Серфер даже не будет знать, что сайт использует для хранения данных файлы. А если со сторон заказчика, то он в ТЗ должен был указать каким образом хранить данные.
ну на вкус и цвет товарищей нет)
На вкус и цвет реализацию нужно выбирать исходя из таких параметров как: Скорость, практичность, безопасность. За практичностью и скоростью я бы к файлам не обращался =\

nerezus
28.12.2009, 19:00
Файлы - это тормоза, геморой и куча потенциальных ошибок.
MySQL - рабочее решение.

Googlе
28.12.2009, 19:06
Сайты на файлах также могут быть уязвимы, например CRLF-injection

vorona
28.12.2009, 19:25
Я промолчу.
Ok.

vorona
28.12.2009, 19:25
Естественно MySQL это для удобности и т.п.
А на файлах, тоже можно сделать сайт, но будет смотреться не професионально.
Но почему непроф.?

Gifts
28.12.2009, 19:32
vorona Напишите тот же новостной движок на файлах. 10к записей, 100к комментариев. И сделайте функционал - удаление произвольной записи, со всеми связанными комментариями. И удалите из середины 2-3 записи (идущие не подряд). А потом сравните простоту и скорость реализации на файлах и на мускуле

vorona
28.12.2009, 19:39
vorona Напишите тот же новостной движок на файлах. 10к записей, 100к комментариев. И сделайте функционал - удаление произвольной записи, со всеми связанными комментариями. И удалите из середины 2-3 записи (идущие не подряд). А потом сравните простоту и скорость реализации на файлах и на мускуле
1 новость = 1 файл. 1 файл = комменты для 1 новости.
В каком-то main.dat записывать инфу о файлах с нвостями. А лучше: один подраздел на сайте - отдельная папка с файлами и отдельным файлом main.dat.
Всё можна разбить аккуратно и не переживать за функционал. А поиск поставить от гугля по сайту.

Gifts
28.12.2009, 19:58
vorona 2-10к записей в main.dat том же самом, удалить подстроку и сдвинуть остаток файла, и так три раза. Модерация 500 записей у популярной новости превратится в нечто несусветное. Постраничный вывод, опять таки. И это только на поверхности. Например для NTFS дисков размер кластера 2-4кб, то есть та же база 20к записей займет 40-80 метров. Фрагментация и прочие прелести?

Конечно, можно сказать, что можно иметь индексный файл, чтобы удобнее использовать fseek и т.д. Но вопрос - зачем?

vorona
28.12.2009, 20:01
vorona 2-10к записей в main.dat том же самом, удалить подстроку и сдвинуть остаток файла, и так три раза. Модерация 500 записей у популярной новости превратится в нечто несусветное. Постраничный вывод, опять таки. И это только на поверхности. Например для NTFS дисков размер кластера 2-4кб, то есть та же база 20к записей займет 40-80 метров. Фрагментация и прочие прелести?

Конечно, можно сказать, что можно иметь индексный файл, чтобы удобнее использовать fseek и т.д. Но вопрос - зачем?
:)

Дикс
28.12.2009, 20:11
не понимаю о чем вообще разговор
для сайта - конечно СУБД
для скриптов (реггер, спамер, етк), настроек - конечно файлы

у всего есть своё предназначение, СУБД и файлы это вообще не конкуренты.

vorona
28.12.2009, 20:24
не понимаю о чем вообще разговор
для сайта - конечно СУБД
для скриптов (реггер, спамер, етк), настроек - конечно файлы

у всего есть своё предназначение, СУБД и файлы это вообще не конкуренты.
См. выше - речь идёт о новостном сайте.

Gifts
28.12.2009, 22:05
Дикс Для реггероспамеров - sqlite :P

PandoraBox
28.12.2009, 22:14
в PosgreSQL можно хранить бинарные файлы заливает туда за считанные секунды держит приличные нагрузки и вы еще думаете о файлах и MySQL ? xDDD

в идеале юзать не блокированные таблицы InnoDB

LStr1ke
28.12.2009, 22:20
в PosgreSQL можно хранить бинарные файлы заливает туда за считанные секунды держит приличные нагрузки и вы еще думаете о файлах и MySQL ? xDDD

В MySQL нельзя хранить бинарные файлы? Помню ходил на говнобыдлокурсы по веб разработке, так нам там наставляли изображения хранить в БД. =\

PandoraBox
28.12.2009, 22:24
В MySQL нельзя хранить бинарные файлы? Помню ходил на говнобыдлокурсы по веб разработке, так нам там наставляли изображения хранить в БД. =\
пули, буферы в mysql отличаются по настройке они не имеют по дефалту хоть средне высокие параметры :D бинарник делать можно везде но только в posgre за секунды на 2гб фильм в БД залить

LStr1ke
28.12.2009, 22:28
но только в posgre за секунды на 2гб фильм в БД залить
Только не понимаю смысла

PandoraBox
28.12.2009, 22:39
Только не понимаю смысла
файловый архив посредствам БД и кэширование той же базой а может обработка файлов низкоуровневые операции чтения/записи

vorona
30.12.2009, 09:33
Работа с MySQL по сравнению с ФС, как хавает оперативу?

N2kroot
30.12.2009, 10:05
Хотя файлы как то по ламерски,и менее функционально
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:<? php die(); ?>

Deathdreams
30.12.2009, 13:19
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:<? php die(); ?>
Твоя наивность не знает границ.
А если зальют шелл, что намного проще, чем получить пароль от мускуля, то что ты тогда будешь делать?

b3
30.12.2009, 15:16
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:<? php die(); ?>
Это не то слово функционально, ведь в нем наверное аж 2-3 новости для теста, у меня к примеру на сайте почти 20 000 новостей, за счет СУБД я нахожу дубли новостей и новости с определенными категориями (кол-во коментариев, кол-во новостей в рубрике и тд..) за считаные секунды, файлы ты парсить будеш часами.

Gifts
31.12.2009, 17:46
N2kroot В каком месте это защита? Если вы думаете, что существуют только SQL инъекции - вы ошибаетесь. В говно самописных движках "на файлах" код изобилует локальными/удаленными инклудами, ведь файлы же надо читать, а в зависимости от хитровы**думанной структуры - читать приходится выборочный файл, что собственно и открывает лазейки.

Плюс к тому - необдуманное использование регулярок при работе с файлами (а без них почти никуда) приводит почти к тем же возможностям восстановления хешей паролей.

vorona в общем случае - мускуль будет кушать меньше. Но все, естественно, зависит от способа использования и того и другого. Если, например, использовать file file_get_contents и не удалять вовремя полученные данные - будет нехорошо для ФС.

PandoraBox эх, вы прям так красиво говорите, про бинарные файлы в бд, низкоуровневую запись, всякие штучки. Что меня прям гложет удивление, почему в микрософтах и прочих линуксах сидят такие дураки, и все еще используют файловую систему для работы с файлами, а не записывают эти самые файлы в postgreSQL :D

vorona
02.01.2010, 10:04
vorona в общем случае - мускуль будет кушать меньше. Но все, естественно, зависит от способа использования и того и другого. Если, например, использовать file file_get_contents и не удалять вовремя полученные данные - будет нехорошо для ФС.


Дак я не вижу существенной разницы. Нету разницы в том, что нада выбрать все поля из таблицы в 1 000 полей и ф-ей file все строки из файла в 1 000 строк.

vorona
02.01.2010, 10:05
Дак регулярки и в БД используются :D

vorona
02.01.2010, 10:35
Как сделать так:
Создать таблицу только из 10-ти записей. При добавлении новой записи, последняя удаляется, а новая заносится на верх?

mailbrush
02.01.2010, 10:43
Как сделать так:
Создать таблицу только из 10-ти записей. При добавлении новой записи, последняя удаляется, а новая заносится на верх?
1. Создаешь таблицу.
2. Записываешь туда 10 строк.
3. Проверяешь если кол-во строк == 10, удаляешь ту, которая имеет последний id.

Все просто, делается парочкой запросов :)
А на файлах... Сколько это мороки будет...

ReduKToR
02.01.2010, 12:09
vorona,почему то у меня большие сомнения на счет тебя...
Если как ты говоришь,что ты 2 года в кодинге,и у тебя за плечами большие проекты.
То врядле бы ты тут такие глупые вопросы задавал =/

nerezus
02.01.2010, 13:32
В каком месте это защита? Если вы думаете, что существуют только SQL инъекции - вы ошибаетесь. Более того SQL-inj никогда не допустит профессионал. НИКОГДА, даже если брать во внимание человеческий фактор - он просто будет использовать заведомо безопасные техноогии работы с СУБД.

Тему закрываю ввиду ее бредовости. А свою точку зрения я озвучил выше.