Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Files VS MySQL (https://forum.antichat.xyz/showthread.php?t=166684)

vorona 28.12.2009 17:27

Files VS MySQL
 
Какие плюсы и минусы сайтов, постоенных отдельно на ФС и БД?

ReduKToR 28.12.2009 17:34

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

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

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

mailbrush 28.12.2009 17:34

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

vorona 28.12.2009 17:40

Цитата:

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

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

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

По первому предложению - ага, согласен.
По второму - ну почему же...
Новостной сайт.

mailbrush 28.12.2009 17:40

Цитата:

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

Если руки прямые, то и на БД не будет никаких инъекций, да и с переездом тоже проблем не будет, так что не советую новичкам всякую фигню...

vorona 28.12.2009 17:42

Цитата:

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

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

vorona 28.12.2009 17:44

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

Osip 28.12.2009 17:46

Цитата:

но как-то не по себе теперь. Что делать?
:D

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

vorona 28.12.2009 17:54

Цитата:

Сообщение от Osip
:D

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

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

mailbrush 28.12.2009 18:03

Цитата:

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

Зря ты эти два года на файлах писал... С СУБД намного удобнее и быстрее.

vorona 28.12.2009 18:20

Цитата:

Сообщение от mailbrush
Зря ты эти два года на файлах писал... С СУБД намного удобнее и быстрее.

ну на вкус и цвет товарищей нет)

.Life 28.12.2009 18:32

MySQL
СУБД

rushter 28.12.2009 18:45

Цитата:

Сообщение от vorona
Дело в том, что я 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

Цитата:

Сообщение от rushter
Я промолчу.

Ok.

vorona 28.12.2009 19:25

Цитата:

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

Но почему непроф.?

Gifts 28.12.2009 19:32

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

vorona 28.12.2009 19:39

Цитата:

Сообщение от Gifts
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

Цитата:

Сообщение от Gifts
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

Цитата:

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

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

PandoraBox 28.12.2009 22:24

Цитата:

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

пули, буферы в mysql отличаются по настройке они не имеют по дефалту хоть средне высокие параметры :D бинарник делать можно везде но только в posgre за секунды на 2гб фильм в БД залить

LStr1ke 28.12.2009 22:28

Цитата:

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

PandoraBox 28.12.2009 22:39

Цитата:

Сообщение от LStr1ke
Только не понимаю смысла

файловый архив посредствам БД и кэширование той же базой а может обработка файлов низкоуровневые операции чтения/записи

vorona 30.12.2009 09:33

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

N2kroot 30.12.2009 10:05

Цитата:

Хотя файлы как то по ламерски,и менее функционально
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:
PHP код:

<? php die(); ?>


Deathdreams 30.12.2009 13:19

Цитата:

Сообщение от N2kroot
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:
PHP код:

<? php die(); ?>


Твоя наивность не знает границ.
А если зальют шелл, что намного проще, чем получить пароль от мускуля, то что ты тогда будешь делать?

b3 30.12.2009 15:16

Цитата:

Сообщение от N2kroot
Я написал движок для сайта, используя лишь файлы. Это очень даже не ламерско и функционально. Тем-более,на мой взгляд, файлы в качестве бд легче защитить,чем всякие там СУБД,поддающиеся взломам.
В файл с базой просто всунем:
PHP код:

<? 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

Цитата:

Сообщение от Gifts


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

Цитата:

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

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

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


Время: 05:10