DBMS 体系结构

2025年4月28日 | 阅读 6 分钟

在本节中,我们将学习和理解 DBMS 架构。我们将借助一些示例来了解每种类型的 DBMS 架构。

DBMS Architecture
  • DBMS 的设计取决于其架构。基本的客户端/服务器架构用于处理连接到网络的大量 PC、Web 服务器、数据库服务器和其他组件。
  • 客户端/服务器架构由通过网络连接的许多 PC 和工作站组成。
  • DBMS 架构取决于用户如何连接到数据库以完成他们的请求。

引言

数据库管理系统 (DBMS) 的设计对于有效处理数据和系统性能至关重要。它涉及用户如何与系统交互和访问系统,以及数据库的设计、开发和管理。本文探讨了许多 DBMS 设计,包括客户端/服务器配置和数据库模型。客户端/服务器设计允许通过网络连接多台 PC 和工作站,从而实现广泛的用户群和安全的数据访问。

DBMS 架构的类型

为了实现最佳操作,数据库管理系统被分成几个抽象层。这些层/模块解释了 DBMS 的工作方式和设计。

由于用户或应用程序并非总能立即访问数据库,因此我们可能需要借助各种设计来维护数据库管理系统,具体取决于用户如何连接到数据库。这些架构按层级分类,这意味着 DBMS 结构中的层级数量决定了 DBMS 架构的分类。

单层架构将数据库管理系统划分为一层;两层架构划分为两层;三层架构划分为三层,依此类推。因此,整个 DBMS 被 n 层 DBMS 架构划分为相关但独立的层或级别。DBMS 结构的复杂性和安全性随着设计中层级数量的减少而增加,因为抽象程度增加。由于这些层中的每一层都独立于其他层运行,因此对一个架构层所做的修改不会影响其他层。

现在让我们探讨最流行的 DBMS 架构

  • 单层架构
  • 两层架构
  • 三层架构
DBMS Architecture

单层架构

  • 在此架构中,数据库直接供用户使用。这意味着用户可以直接坐在 DBMS 上使用它。
  • 这里所做的任何更改都将直接在数据库本身上完成。它没有为最终用户提供方便的工具。
  • 单层架构用于本地应用程序的开发,程序员可以直接与数据库通信以获得快速响应。
DBMS Architecture

何时使用单层 DBMS 架构?

  • 数据更改不多。
  • 没有很多用户访问数据库系统。
  • 出于应用程序开发目的,我们希望有一种清晰简单的方法来访问或更改数据库。

单层 DBMS 架构示例

我们配置了本地系统的 SQL 服务器和数据库,以了解结构化查询语言 (SQL)。我们无需网络连接即可使用此 SQL 服务器直接对关系数据库执行一些操作并与之通信。学习 SQL 查询的整个系统是单层数据库管理系统的一个示例。

DBMS Architecture

特点

  1. 最基本的 DBMS 设计。
  2. 单个系统包含服务器、数据库和客户端——数据库管理系统的三个主要部分。
  3. 用户可立即访问数据库。
  4. 适用于数据变化很少或没有变化的情况。
  5. 适合单用户访问、数据库设计人员和程序员。

两层架构

  • 两层架构与基本客户端-服务器架构相同。在两层架构中,客户端应用程序可以直接与服务器端的数据库通信。对于这种交互,使用诸如 ODBC、JDBC 等 API。
  • 用户界面和应用程序在客户端运行。
  • 服务器端负责提供诸如查询处理和事务管理等功能。
  • 为了与 DBMS 通信,客户端应用程序与服务器端建立连接。
  • 它提高了可用性和可伸缩性。
    • 通过用户友好的界面增强了可用性。
    • 两层系统最多可容纳 100 个用户,从而提高了可伸缩性。
DBMS Architecture

以下是两层设计相对于单层设计的主要优点

  • 它可以被多个人同时使用。因此,它可以在组织中应用。
  • 由于服务器单独管理数据库操作,因此它具有较高的处理能力。
  • 由于直接连接,提高了速度和更快的数据库访问。
    由于两个独立的层,维护更简单。
  • 它最适合处理非复杂和敏感信息的类似环境。

两层 DBMS 架构示例

想象一下您去银行取款。在取款单上输入取款金额和账户详细信息后,银行家将使用其凭证(API 请求)访问服务器端数据库并确定是否有足够的余额。这种客户端-服务器设计演示了两层数据库管理系统。

DBMS Architecture

特点

  1. 类似于具有客户端和服务器的架构。
  2. 访问速度更快,维护更简单,并支持多个用户同时访问。
  3. 当我们希望通过应用程序和 API 与 DBMS 交互时使用。
  4. 由于直接的客户端-服务器连接,存在安全性和可伸缩性问题。

三层架构

  • 三层架构在客户端和服务器之间包含另一层。在此架构中,客户端不能直接与服务器通信。三层架构进一步分为 3 个部分
    • 客户端请求资源,并配备用于演示的用户界面。
    • 应用服务器负责提供所请求的资源,但通过调用另一个服务器。
    • 数据服务器向应用服务器提供所需的数据。

DBMS Architecture
  • 客户端的应用程序与应用服务器交互,应用服务器进一步与数据库系统通信。
  • 最终用户对应用服务器之外的数据库的存在一无所知。数据库也对应用服务器之外的任何其他用户一无所知。
  • 三层架构用于大型 Web 应用程序。
DBMS Architecture

在上述图中,客户端与应用程序层通信,应用程序层存储用于从数据库服务器访问数据的过程和约束。它在将请求转发到数据库服务器之前检查客户端凭据。因此,它提高了数据库安全性。当用户请求数据时,应用服务器接收请求,处理请求并将适当的数据库命令转发到数据库服务器。数据库服务器将结果返回给应用服务器,应用服务器将其转换为 GUI 格式并呈现给用户。

三层 DBMS 架构的主要优点是

  • 可伸缩性:由于应用程序层实现了负载平衡,并且数据库服务器不知道它之外的任何用户,因此您可以拥有任意数量的客户端。
  • 数据完整性:由于在应用程序层对每个客户端请求进行检查,可以防止数据损坏和错误请求。
  • 安全性:通过抽象化消除客户端和服务器系统之间的直接链接,减少了对数据库的不必要访问。

三层 DBMS 架构的缺点是

  • 复杂:三层架构比其他两层架构更复杂。
  • 难以与用户交互:中间层的存在使得难以直接与用户交互。

特点

  1. 最流行的 DBMS 架构。
  2. 维护客户端-应用程序-服务器的架构。
  3. 提高了可伸缩性、数据完整性和安全性。
  4. 由于增加了层,它更复杂,需要更多的维护。

DBMS 架构的多选题

1. 必须了解的基本客户端/服务器架构是什么?

  1. 大量 PC
  2. 数据库服务器
  3. 以上全部。
 

答案:D)

解释:处理 Web 和数据库服务器、网络连接组件以及大量 PC 构成了基本的客户端/服务器架构。


2. 基本的客户端-服务器架构类似于

  1. 三层架构
  2. 四层架构
  3. 两层架构
  4. 五层架构
 

答案:C)

解释:两层架构和基本的客户端-服务器方法类似。


3. DBMS 架构有多少种不同的类型?

  1. 4
  2. 1
  3. 3
  4. 2
 

答案:D)

解释:DBMS 架构有三种不同的类型:单层、两层和三层架构。


4. 两层架构中用于交互的 API 是什么?

  1. JDBC
  2. ODBC
  3. A 和 B 都不是。
  4. 以上都不是
 

答案:C)

解释:在两层架构中,诸如 JDBC 和 ODBC 等 API 用于交互。


5. 哪种架构阻止客户端直接与服务器通信?

  1. 三层架构
  2. 单层架构
  3. 两层架构
  4. 以上都不是
 

答案:A)

解释:在三层架构中,客户端和服务器不能直接通信。