Jump to content

БД или файлы?


Golgi
 Share

Recommended Posts

А вот, кстати, хотелось бы поинтересоваться — кто-нибудь хранит информацию не в БД, а в файлах? Если да, то всю или только часть? Если только часть, то какую и почему?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

А вот, кстати, хотелось бы поинтересоваться — кто-нибудь хранит информацию не в БД, а в файлах? Если да, то всю или только часть? Если только часть, то какую и почему?

Я. Всю. Потому что для микросайтов больше не нужно. Затраты на обслуживание базы много больше, чем на обслуживание файлов.

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

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

Link to comment
Share on other sites

и кто какую БД использует? и что лучше, SQLlite или MySQL
mysql тяжёлый, а для большинства сайтов его функционал не нужен. К тому же, в sqlite3 есть триггеры, не помню как на счёт процедур. Встроенных функций меньше, огромные тормоза под виндой (ну так нечего на винде сайты крутить), но это всё маленькие недостатки по сравнению с тем, что mysql постоянно висит службой (или процессом), занимает больше места, его базы трудно переносимы с машины на машину без выгрузки в файл, нужно постоянно манипулировать внутренними пользователями при создании базы. А на хостингах ещё и число баз ограничено. Не говоря о том, что на fatal.ru нет mysql, зато есть sqlite.

Из плюсов: синтаксис sqlite стандартный для всех sql-движков, а у меня ещё есть и самописный однофайловый менеджер баз в противовес килотонному phpmyadmin.

  • Like 2
Link to comment
Share on other sites

Хз, в книге написано, что такие гиганты как гугль работаю без БД на файлах. Может конечно у них свои какие-то разработки есть.

Ну, это полуправда.

Текущие БД тоже работают на файлах. Должны же они где-то хранить данные? А где кроме как в файлах?

В Гугле многоуровневая система хранения информации. Для более удобного анализа данных могут применяться огромное количество подходов одновременно. Страница сохраняется в исходном виде, она может храниться в файле. Далее, она чистится от мусора и сохраняется только важный контент. После этого, к примеру, передается в семантический обработчик, это уже в базе данных. Потом складируется некий хэш ключей в базе, чтобы можно было индексы построить нормально. Потом снова раскладывается на запчасти и заливается в файлы на серверах. Это не полный цикл, но по нему понятно что и как.

кто кого так и не понятно... :unsure:

Кто? Базы. Кого? Файлы.

Link to comment
Share on other sites

Неправильно наверное сравнивать работу с файлами и базы данных. И то и другое, как уже было подмечено выше — работа с файлами. Просто если у вас довольно много логических связей в хранимой информации — нужна удобная надстройка — БД, чтобы легче оперировать данными.

Так что предмета спора не вижу.

Для «систем управления» (которые чуть более сложней простой отдачи статического контента) — лучше БД, потому что это хоть как то гарантирует целостность хранимой информации. Хотя в этой фразе я сам не сильно уверен, потому что транзакции есть только в InnoDB. ;)

Насчет SQLite vs MySQL — если у вас совместный доступ к базе (над базой трудятся несколько человек), то конечно же MySQL, потому что SQLite полностью блокирует доступ к файлу базы, если в него уже «кто то пишет». Ну и на больших объемах и сложных запросах MySQL покажет себя лучше (хотя, для этого нужно проводить специальные углубленные тесты).

Вывод: вопрос «Использовать или не использовать технологию?» нужно задавать себе каждый раз исходя из поставленной задачи. Хороший программист должен владеть и файлами, и SQLite, и MySQL (различать +/- MyISAM и InnoDB, а хорошо бы знать еще пару тройку других БД), и использовать каждую из этих технологий в зависимости от тех условий, в которых работает его приложение.

Edited by alanvanduke
Link to comment
Share on other sites

Можно подумать, mysql не блокирует доступ к файлу. Это что ж там за файловая система?

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

Edited by alanvanduke
Link to comment
Share on other sites

Можно подумать, mysql не блокирует доступ к файлу. Это что ж там за файловая система?

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

InnoDB - не? Он не блокирует, но жрёт больше ресурсов

Edited by Shift-Web
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy