为什么数据库被认为与文件系统不同



好吧,每本数据库书都以早期人们如何将数据存储为文件的故事开始,这非常不方便。数据库出现后,事情变得非常简单和无缝,因为我们现在可以查询数据等。我的问题是表如何真正存储在磁盘中并检索?它们不是仅存储为文件,还是只是一点一点地复制到地址空间,并且仅通过地址访问?或者有一个底层文件系统,数据库服务器处理对文件系统的访问,并在我们面前呈现一个表的抽象。

可能是一个非常微不足道的问题,但我没有在任何书中找到答案

这个问题不是微不足道的,但两者之间的区别非常明显。

文件系统提供了一种以分层方式逻辑查看流的方法。 磁盘上内容的虚拟表示形式;否则将只是一个二进制流,不可读。

当我们谈论存储数据时,我们可以扩展将数据写入文件的方法,然后定义我们自己的协议来对它进行CRUD;从而模仿数据库所做的事情的一小部分。

在文件中存储数据存在许多限制。如果您将它们存储在文件中并定义自己的协议,它将非常特定于您。此外,还有各种其他问题,例如安全性,灾难恢复等。

尽管所有内容都以某种方式存储在磁盘上,但与文件相比,数据库为表带来的主要优势是它们提供的机制。

为了最小化io,我们有数据库缓存和许多其他功能。

当您将文件系统想象成有助于可视化和访问流中的磁盘上的数据时,我们可以想象数据库是这样的数据工具 - 数据系统,它组织您的数据。文件只能部分地做到这一点;同样,除非您扩展程序以模拟数据库。

表如何真正存储在磁盘上并检索,这是一个很大的话题。建议阅读您最喜欢的数据库内部结构。科思的书也可能是一本好书。

相关内容

最新更新