数据库与文件系统存储


84

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

Answers:


61

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

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

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

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

RDBMS的主要优点:

  • 表彼此相关

  • SQL查询/数据处理语言

  • SQL的事务处理功能(Transact-SQL)

  • 使用服务器端对象(例如存储过程,函数,触发器,视图等)的服务器-客户端实现。

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

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

您可以在互联网上找到n个差异。


数据库和文件系统之间的唯一区别是存储数据的方式和结构。但是两个系统都存储。对?
斯里拉姆

是的,但是结构化或非结构化数据是一个问题
Vicky

25
此答案的上半部分是从quora.com/
PoweredByRice

12

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


6

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

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

  2. 文件处理系统具有更多的数据冗余,而以dbms为单位的数据冗余较少。

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

0

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

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

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

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

最后,数据库和文件系统都有各种形状和大小。事务,关系,层次,图,表 无论您想到什么。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.