数据库与文件系统存储

时间:2016-06-30 10:47:42

标签: database file-system-storage

数据库最终将数据存储在文件中,而文件系统也将数据存储在文件中。在这种情况下,DB和文件系统之间有什么区别。是它的检索方式还是其他任何东西?

6 个答案:

答案 0 :(得分:35)

  

数据库通常用于存储相关的结构化数据,具有良好定义的数据格式,以有效的方式插入,更新和/或检索(取决于应用程序)。

     

另一方面,文件系统是一种更加非结构化的数据存储,用于存储任意的,可能不相关的数据。文件系统更通用,数据库建立在文件系统提供的通用数据存储服务之上。 [Quora]

如果要查找特定文件,文件系统很有用,因为操作系统会维护某种索引。但是,txt文件的内容不会被索引,这是数据库的主要优点之一。

对于非常复杂的操作,文件系统可能非常慢。

主要的RDBMS优势:

  • 表格彼此相关

  • SQL查询/数据处理语言

  • SQL(Transact-SQL)的事务处理添加

  • 服务器端客户端实现服务器端对象,如存储过程,函数,触发器,视图等。

文件系统优于数据库管理系统的优势是:

当处理具有任意,可能不相关的数据的小数据集时,文件比数据库更有效。 对于简单的操作,读,写,文件操作更快更简单。

你可以在互联网上找到许多不同之处。

答案 1 :(得分:9)

应该注意的是Unix具有所谓的inode限制。如果您要存储数百万条记录,那么这可能是一个严重的问题。您应该运行df -i以查看有效使用的%这是文件系统文件限制 - 即使您有足够的磁盘空间。

答案 2 :(得分:7)

文件处理系统和数据库管理系统的区别如下:

  1. 文件处理系统是一组程序,用于存储和管理计算机硬盘中的文件。另一方面,数据库管理系统是能够创建和维护数据库的程序集合。

  2. 文件处理系统具有更多的数据冗余,dbms中的数据冗余更少。

  3. 文件处理系统在访问数据方面提供的灵活性较低,而dbms在访问数据方面具有更大的灵活性。
  4. 文件处理系统不提供数据一致性,而dbms通过规范化提供数据一致性。
  5. 文件处理系统不太复杂,而dbms则更复杂。

答案 3 :(得分:1)

上下文:我已经编写了一个已经在生产环境中运行7年的文件系统。 [1]

文件系统和数据库之间的主要区别在于文件系统API是操作系统的一部分,因此文件系统实现必须实现该API并遵循某些规则,而数据库由具有完全自由度的第三方构建

从历史上看,在操作系统提供的文件系统时创建的数据库不足以解决当前的问题。试想一下:如果您有特殊要求,则不能仅致电Microsoft或Apple重新设计其文件系统API。您要么继续编写自己的存储软件,要么四处寻找现有的替代方案。因此,需求为第三方数据存储软件创造了一个市场,该市场最终被称为数据库。就是这样。

虽然文件系统似乎具有某些规则,例如拥有文件和目录,但事实并非如此。最大的操作系统是这样工作的,但是许多购物中心的小型OS的工作方式却有所不同。这当然不是硬性要求。 (请记住,要构建一个新的文件系统,您还需要编写一个新的操作系统,这将使采用变得更加困难。为什么不只关注存储引擎,而是将其称为数据库?)

最后,数据库和文件系统都有各种形状和大小。事务的,关系的,层次的,图形的,表格的;任何您能想到的。

[1]我研究了Boomla文件系统,该系统是Boomla操作系统和Web应用程序平台背后的存储系统。

答案 4 :(得分:0)

数据库和文件系统存储之间的主要区别是:

<块引用>
  1. 数据库是用于插入、更新和删除的软件应用程序 数据而文件系统是用于添加、更新和删除的软件 文件。
  2. 在文件系统中保存文件和检索更简单 而 SQL 需要学习对数据库执行任何查询以 获取 (SELECT)、添加 (INSERT) 并更新数据。
  3. 数据库提供了适当的数据恢复过程,而文件系统则没有。
  4. 在安全性方面,数据库比文件系统(通常)更安全。
  5. 文件系统中的迁移过程非常简单,只需复制并粘贴到目标中即可 而对于数据库来说,这个任务就没有那么简单了。

答案 5 :(得分:-1)

dmbs 以非常有效的方式组织您的数据