为什么 DBMS 需要守护进程?

Anu*_*kla 5 database architecture

我最近被介绍到 MongoDB 并通过安装指南我开始知道我们必须首先运行守护程序(mongod),然后我们必须通过 mongo.exe(对于 Windows)连接到守护程序才能实际运行命令。我注意到这是大多数 DBMS 的通用结构,我们必须在其中启动服务器,然后连接到它来运行命令。

为什么我们不能像使用 Python 或 Node.js 那样在单个程序实例中运行 DBMS?具体来说,为什么我们需要 DBMS 的服务器-客户端架构?

ist*_*iuk 1

是的你可以。这并不是严格需要的。

您所描述的是 SQLite 的工作原理。其他“嵌入式”数据库引擎也执行相同的操作。

独立服务器的主要优点是多个客户端可以同时连接到它。在没有中央协调进程(服务器)的情况下同时写入和读取共享数据文件变得越来越复杂和不可靠,以至于很容易证明单独的专用进程是合理的。