Просмотр полной версии : Files VS MySQL
Какие плюсы и минусы сайтов, постоенных отдельно на ФС и БД?
ReduKToR
28.12.2009, 17:34
НУ на файлах небудет никаких sql inj,да и при переезде на другой хостинг никаких проблем...все перекинул и все........
Хотя файлы как то по ламерски,и менее функционально
Ты скажи,что хочешь писать,и мы тебе конкретно ответим
mailbrush
28.12.2009, 17:34
MySQL - это всего лишь база данных. Сайт на одной MySQL ты никак не построишь...
То же самое и на файлах. Хотя... Сайт на файлах сделать можно, но это уже будет быдлокодинг, т.к. опытные, да и вообще любые, кодеры не пишут сайты только на файлах. А вот если взять файлы + СУБД, то получиться отличный сайт.
НУ на файлах небудет никаких sql inj,да и при переезде на другой хостинг никаких проблем...все перекинул и все........
Хотя файлы как то по ламерски,и менее функционально
Ты скажи,что хочешь писать,и мы тебе конкретно ответим
По первому предложению - ага, согласен.
По второму - ну почему же...
Новостной сайт.
mailbrush
28.12.2009, 17:40
НУ на файлах небудет никаких sql inj,да и при переезде на другой хостинг никаких проблем...все перекинул и все........
Если руки прямые, то и на БД не будет никаких инъекций, да и с переездом тоже проблем не будет, так что не советую новичкам всякую фигню...
MySQL - это всего лишь база данных. Сайт на одной MySQL ты никак не построишь...
То же самое и на файлах. Хотя... Сайт на файлах сделать можно, но это уже будет быдлокодинг, т.к. опытные, да и вообще любые, кодеры не пишут сайты только на файлах. А вот если взять файлы + СУБД, то получиться отличный сайт.
Дело в том, что я 2 года писал на файлах. И я привык к работе в ФС. Сейчас вот хочу начать использовать БД, но как-то не по себе теперь. Что делать?
И я бы не сказал, что уровень умения кодера оценивается по том, пишет он в ФС или БД. В ФС можно писать не хуже, чем БД. Это факт.
но как-то не по себе теперь. Что делать?
:D
Ничего сложного, потратить время на изучение работы вашего языка в сочетании с выбраной судб =)
:D
Ничего сложного, потратить время на изучение работы вашего языка в сочетании с выбраной судб =)
Та это я изучил ещё в самом начале :) Но как-то для себя выбрал ФС, а не БД.
mailbrush
28.12.2009, 18:03
Дело в том, что я 2 года писал на файлах. И я привык к работе в ФС. Сейчас вот хочу начать использовать БД, но как-то не по себе теперь. Что делать?
Зря ты эти два года на файлах писал... С СУБД намного удобнее и быстрее.
Зря ты эти два года на файлах писал... С СУБД намного удобнее и быстрее.
ну на вкус и цвет товарищей нет)
Дело в том, что я 2 года писал на файлах. И я привык к работе в ФС. Сейчас вот хочу начать использовать БД, но как-то не по себе теперь. Что делать?
Я промолчу.
Естественно MySQL это для удобности и т.п.
А на файлах, тоже можно сделать сайт, но будет смотреться не професионально.
SQL тоже файлы )
Все дело в скорости выполнений запросов и удобстве... =\
Что будет быстрее, запрос к БД или построковое\побайтовое чтение файлов? Что если "одновременных" пользователей - тысяча?
А на файлах, тоже можно сделать сайт, но будет смотреться не професионально.
Серфер даже не будет знать, что сайт использует для хранения данных файлы. А если со сторон заказчика, то он в ТЗ должен был указать каким образом хранить данные.
ну на вкус и цвет товарищей нет)
На вкус и цвет реализацию нужно выбирать исходя из таких параметров как: Скорость, практичность, безопасность. За практичностью и скоростью я бы к файлам не обращался =\
Файлы - это тормоза, геморой и куча потенциальных ошибок.
MySQL - рабочее решение.
Сайты на файлах также могут быть уязвимы, например CRLF-injection
Естественно MySQL это для удобности и т.п.
А на файлах, тоже можно сделать сайт, но будет смотреться не професионально.
Но почему непроф.?
vorona Напишите тот же новостной движок на файлах. 10к записей, 100к комментариев. И сделайте функционал - удаление произвольной записи, со всеми связанными комментариями. И удалите из середины 2-3 записи (идущие не подряд). А потом сравните простоту и скорость реализации на файлах и на мускуле
vorona Напишите тот же новостной движок на файлах. 10к записей, 100к комментариев. И сделайте функционал - удаление произвольной записи, со всеми связанными комментариями. И удалите из середины 2-3 записи (идущие не подряд). А потом сравните простоту и скорость реализации на файлах и на мускуле
1 новость = 1 файл. 1 файл = комменты для 1 новости.
В каком-то main.dat записывать инфу о файлах с нвостями. А лучше: один подраздел на сайте - отдельная папка с файлами и отдельным файлом main.dat.
Всё можна разбить аккуратно и не переживать за функционал. А поиск поставить от гугля по сайту.
vorona 2-10к записей в main.dat том же самом, удалить подстроку и сдвинуть остаток файла, и так три раза. Модерация 500 записей у популярной новости превратится в нечто несусветное. Постраничный вывод, опять таки. И это только на поверхности. Например для NTFS дисков размер кластера 2-4кб, то есть та же база 20к записей займет 40-80 метров. Фрагментация и прочие прелести?
Конечно, можно сказать, что можно иметь индексный файл, чтобы удобнее использовать fseek и т.д. Но вопрос - зачем?
vorona 2-10к записей в main.dat том же самом, удалить подстроку и сдвинуть остаток файла, и так три раза. Модерация 500 записей у популярной новости превратится в нечто несусветное. Постраничный вывод, опять таки. И это только на поверхности. Например для NTFS дисков размер кластера 2-4кб, то есть та же база 20к записей займет 40-80 метров. Фрагментация и прочие прелести?
Конечно, можно сказать, что можно иметь индексный файл, чтобы удобнее использовать fseek и т.д. Но вопрос - зачем?
:)
не понимаю о чем вообще разговор
для сайта - конечно СУБД
для скриптов (реггер, спамер, етк), настроек - конечно файлы
у всего есть своё предназначение, СУБД и файлы это вообще не конкуренты.
не понимаю о чем вообще разговор
для сайта - конечно СУБД
для скриптов (реггер, спамер, етк), настроек - конечно файлы
у всего есть своё предназначение, СУБД и файлы это вообще не конкуренты.
См. выше - речь идёт о новостном сайте.
Дикс Для реггероспамеров - sqlite :P
PandoraBox
28.12.2009, 22:14
в PosgreSQL можно хранить бинарные файлы заливает туда за считанные секунды держит приличные нагрузки и вы еще думаете о файлах и MySQL ? xDDD
в идеале юзать не блокированные таблицы InnoDB
в PosgreSQL можно хранить бинарные файлы заливает туда за считанные секунды держит приличные нагрузки и вы еще думаете о файлах и MySQL ? xDDD
В MySQL нельзя хранить бинарные файлы? Помню ходил на говнобыдлокурсы по веб разработке, так нам там наставляли изображения хранить в БД. =\
PandoraBox
28.12.2009, 22:24
В MySQL нельзя хранить бинарные файлы? Помню ходил на говнобыдлокурсы по веб разработке, так нам там наставляли изображения хранить в БД. =\
пули, буферы в mysql отличаются по настройке они не имеют по дефалту хоть средне высокие параметры :D бинарник делать можно везде но только в posgre за секунды на 2гб фильм в БД залить
но только в posgre за секунды на 2гб фильм в БД залить
Только не понимаю смысла
PandoraBox
28.12.2009, 22:39
Только не понимаю смысла
файловый архив посредствам БД и кэширование той же базой а может обработка файлов низкоуровневые операции чтения/записи
Работа с MySQL по сравнению с ФС, как хавает оперативу?
Хотя файлы как то по ламерски,и менее функционально
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:<? php die(); ?>
Deathdreams
30.12.2009, 13:19
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:<? php die(); ?>
Твоя наивность не знает границ.
А если зальют шелл, что намного проще, чем получить пароль от мускуля, то что ты тогда будешь делать?
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:<? php die(); ?>
Это не то слово функционально, ведь в нем наверное аж 2-3 новости для теста, у меня к примеру на сайте почти 20 000 новостей, за счет СУБД я нахожу дубли новостей и новости с определенными категориями (кол-во коментариев, кол-во новостей в рубрике и тд..) за считаные секунды, файлы ты парсить будеш часами.
N2kroot В каком месте это защита? Если вы думаете, что существуют только SQL инъекции - вы ошибаетесь. В говно самописных движках "на файлах" код изобилует локальными/удаленными инклудами, ведь файлы же надо читать, а в зависимости от хитровы**думанной структуры - читать приходится выборочный файл, что собственно и открывает лазейки.
Плюс к тому - необдуманное использование регулярок при работе с файлами (а без них почти никуда) приводит почти к тем же возможностям восстановления хешей паролей.
vorona в общем случае - мускуль будет кушать меньше. Но все, естественно, зависит от способа использования и того и другого. Если, например, использовать file file_get_contents и не удалять вовремя полученные данные - будет нехорошо для ФС.
PandoraBox эх, вы прям так красиво говорите, про бинарные файлы в бд, низкоуровневую запись, всякие штучки. Что меня прям гложет удивление, почему в микрософтах и прочих линуксах сидят такие дураки, и все еще используют файловую систему для работы с файлами, а не записывают эти самые файлы в postgreSQL :D
vorona в общем случае - мускуль будет кушать меньше. Но все, естественно, зависит от способа использования и того и другого. Если, например, использовать file file_get_contents и не удалять вовремя полученные данные - будет нехорошо для ФС.
Дак я не вижу существенной разницы. Нету разницы в том, что нада выбрать все поля из таблицы в 1 000 полей и ф-ей file все строки из файла в 1 000 строк.
Дак регулярки и в БД используются :D
Как сделать так:
Создать таблицу только из 10-ти записей. При добавлении новой записи, последняя удаляется, а новая заносится на верх?
mailbrush
02.01.2010, 10:43
Как сделать так:
Создать таблицу только из 10-ти записей. При добавлении новой записи, последняя удаляется, а новая заносится на верх?
1. Создаешь таблицу.
2. Записываешь туда 10 строк.
3. Проверяешь если кол-во строк == 10, удаляешь ту, которая имеет последний id.
Все просто, делается парочкой запросов :)
А на файлах... Сколько это мороки будет...
ReduKToR
02.01.2010, 12:09
vorona,почему то у меня большие сомнения на счет тебя...
Если как ты говоришь,что ты 2 года в кодинге,и у тебя за плечами большие проекты.
То врядле бы ты тут такие глупые вопросы задавал =/
В каком месте это защита? Если вы думаете, что существуют только SQL инъекции - вы ошибаетесь. Более того SQL-inj никогда не допустит профессионал. НИКОГДА, даже если брать во внимание человеческий фактор - он просто будет использовать заведомо безопасные техноогии работы с СУБД.
Тему закрываю ввиду ее бредовости. А свою точку зрения я озвучил выше.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot