数据库最终将数据存储在文件中,而文件系统也将数据存储在文件中。在这种情况下,DB和文件系统之间有什么区别。是它的检索方式还是其他任何东西?
答案 0 :(得分:35)
数据库通常用于存储相关的结构化数据,具有良好定义的数据格式,以有效的方式插入,更新和/或检索(取决于应用程序)。
另一方面,文件系统是一种更加非结构化的数据存储,用于存储任意的,可能不相关的数据。文件系统更通用,数据库建立在文件系统提供的通用数据存储服务之上。 [Quora]
如果要查找特定文件,文件系统很有用,因为操作系统会维护某种索引。但是,txt文件的内容不会被索引,这是数据库的主要优点之一。
对于非常复杂的操作,文件系统可能非常慢。
主要的RDBMS优势:
表格彼此相关
SQL查询/数据处理语言
SQL(Transact-SQL)的事务处理添加
服务器端客户端实现服务器端对象,如存储过程,函数,触发器,视图等。
文件系统优于数据库管理系统的优势是:
当处理具有任意,可能不相关的数据的小数据集时,文件比数据库更有效。 对于简单的操作,读,写,文件操作更快更简单。
你可以在互联网上找到许多不同之处。
答案 1 :(得分:9)
应该注意的是Unix具有所谓的inode限制。如果您要存储数百万条记录,那么这可能是一个严重的问题。您应该运行df -i
以查看有效使用的%这是文件系统文件限制 - 即使您有足够的磁盘空间。
答案 2 :(得分:7)
文件处理系统和数据库管理系统的区别如下:
文件处理系统是一组程序,用于存储和管理计算机硬盘中的文件。另一方面,数据库管理系统是能够创建和维护数据库的程序集合。
文件处理系统具有更多的数据冗余,dbms中的数据冗余更少。
答案 3 :(得分:1)
上下文:我已经编写了一个已经在生产环境中运行7年的文件系统。 [1]
文件系统和数据库之间的主要区别在于文件系统API是操作系统的一部分,因此文件系统实现必须实现该API并遵循某些规则,而数据库由具有完全自由度的第三方构建
。从历史上看,在操作系统提供的文件系统时创建的数据库不足以解决当前的问题。试想一下:如果您有特殊要求,则不能仅致电Microsoft或Apple重新设计其文件系统API。您要么继续编写自己的存储软件,要么四处寻找现有的替代方案。因此,需求为第三方数据存储软件创造了一个市场,该市场最终被称为数据库。就是这样。
虽然文件系统似乎具有某些规则,例如拥有文件和目录,但事实并非如此。最大的操作系统是这样工作的,但是许多购物中心的小型OS的工作方式却有所不同。这当然不是硬性要求。 (请记住,要构建一个新的文件系统,您还需要编写一个新的操作系统,这将使采用变得更加困难。为什么不只关注存储引擎,而是将其称为数据库?)
最后,数据库和文件系统都有各种形状和大小。事务的,关系的,层次的,图形的,表格的;任何您能想到的。
[1]我研究了Boomla文件系统,该系统是Boomla操作系统和Web应用程序平台背后的存储系统。
答案 4 :(得分:0)
数据库和文件系统存储之间的主要区别是:
<块引用>答案 5 :(得分:-1)
dmbs 以非常有效的方式组织您的数据