База данных против хранилища файловой системы


86

База данных в конечном итоге хранит данные в файлах, тогда как файловая система также хранит данные в файлах. В этом случае в чем разница между БД и файловой системой. Это способ получения или что-то еще?

Ответы:


63

База данных обычно используется для хранения связанных, структурированных данных с четко определенными форматами данных эффективным способом для вставки, обновления и / или поиска (в зависимости от приложения).

С другой стороны, файловая система - это более неструктурированное хранилище данных для хранения произвольных, возможно, несвязанных данных. Файловая система является более общей, и базы данных построены на основе общих служб хранения данных, предоставляемых файловыми системами. [Quora]

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

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

Основные преимущества СУБД:

  • Таблицы связаны друг с другом

  • Язык SQL-запросов / обработки данных

  • Дополнение обработки транзакций к SQL (Transact-SQL)

  • Реализация сервер-клиент с объектами на стороне сервера, такими как хранимые процедуры, функции, триггеры, представления и т. Д.

Преимущество файловой системы над системой управления базами данных:

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

Вы можете найти n различий в Интернете.


Единственная разница между базой данных и файловой системой заключается в способе и структуре хранения данных. Но обе системы хранятся. правильно?
Шрирам

да, но вопрос в структурированных или неструктурированных данных
Вики

26
первая половина этого ответа скопирована с сайта quora.com/…
PoweredByRice

13

Следует знать, что Unix имеет так называемое ограничение inode. Если вы храните миллионы записей, это может стать серьезной проблемой. Вы должны запустить, df -iчтобы просмотреть% использованных файлов, так как это ограничение файловой системы - ДАЖЕ ЕСЛИ у вас достаточно места на диске.


7

Разница между системой обработки файлов и системой управления базами данных заключается в следующем:

  1. Система обработки файлов - это набор программ, которые хранят файлы на жестком диске компьютера и управляют ими. С другой стороны, система управления базами данных - это набор программ, которые позволяют создавать и поддерживать базу данных.

  2. Система обработки файлов имеет большую избыточность данных, меньше избыточность данных в dbms.

  3. Система обработки файлов обеспечивает меньшую гибкость при доступе к данным, тогда как dbms имеет большую гибкость при доступе к данным.
  4. Система обработки файлов не обеспечивает согласованности данных, тогда как dbms обеспечивает согласованность данных посредством нормализации.
  5. Система обработки файлов менее сложна, тогда как dbms более сложна.

1

Контекст: я написал файловую систему, которая работает в продакшене уже 7 лет. [1]

Ключевое различие между файловой системой и базой данных состоит в том, что API файловой системы является частью ОС, поэтому реализации файловой системы должны реализовывать этот API и, таким образом, следовать определенным правилам, тогда как базы данных создаются третьими сторонами, имеющими полную свободу.

Исторически сложилось так, что базы данных создавались, когда файловая система, предоставляемая ОС, была недостаточно хороша для решения данной проблемы. Подумайте об этом: если у вас есть особые требования, вы не можете просто позвонить в Microsoft или Apple, чтобы изменить их API файловой системы. Вы могли бы либо пойти дальше и написать собственное программное обеспечение для хранения данных, либо поискать существующие альтернативы. Таким образом, возникла необходимость создать рынок для стороннего программного обеспечения для хранения данных, которое в конечном итоге было названо базами данных . Вот об этом.

Хотя может показаться, что файловые системы имеют определенные правила, такие как наличие файлов и каталогов, это неверно. Так работают самые большие операционные системы, но есть много небольших ОС, которые работают по-другому. Это, конечно, несложное требование. (Просто помните, что для создания новой файловой системы вам также необходимо написать новую ОС, что значительно усложнит ее внедрение. Почему бы не сосредоточиться только на механизме хранения и вместо этого назвать его базой данных?)

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

[1] Я работал над файловой системой Boomla, которая является системой хранения, лежащей в основе ОС Boomla и платформы веб-приложений.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.