跳至主要内容

什么是数据库管理系统(DBMS)?

什么是数据库管理系统(DBMS)?

数据库管理系统(DBMS)是一种管理数据库中信息的软件技术。数据库是一种以电子形式存储的数据集合,支持对数据进行读取、写入、删除和更新操作。DBMS 能让数据存储变得简单,同时还能提升数据的可用性、可靠性与性能。该技术还提供实用工具,可用于识别数据相关性,并根据需要在系统内部执行数据分析。DBMS 可帮助企业以有序方式管理不同规模的数据。

数据库管理系统有哪些优势?

数据库管理系统(DBMS)对于管理各种类型的数字数据至关重要。优势包括:

保持数据井然有序

数据需按特定方式组织才能发挥作用。结构化和非结构化数据都需要特定的存储和操作配置。数据库管理系统可确保数据按照特定格式进行组织,并且在进行数据操作时无需担心数据库故障。

为用户提供结构化的数据管理方式

DBMS 让用户能够使用可重复的编码化指令来管理和操作数据,并不要求理解底层数据存储方式或操作原理。用户只要掌握某一特定 DBMS 的使用方法,便能操作基于同一底层数据库类型的任意数据库,甚至可将这些技能应用于其他类型的数据库。

具备多种集成功能

不同的 DBMS 功能有所差异,部分系统的功能覆盖范围更广。例如,许多 DBMS 都内置了多种功能,包括数据备份、数据冗余、数据验证以及传输中数据/静态数据加密。

数据库管理系统可以执行哪些功能?

数据库管理系统是一个软件层,支持多名用户和多个应用程序便捷地创建、读取、更新和删除数据。数据库管理员通过专用工具与界面来管理数据库,可执行性能监控、安全策略实施、备份管理、查询优化及数据完整性维护等任务。

提升数据可访问性

DBMS 中的浏览器端界面,能让用户通过 Web 表单、可直接使用的仪表板或第三方分布式网络便捷地获取数据。除可视化工具外,用户还可通过应用程序、数据操作语言(DML)、查询语言或 API 连接来实现对数据的访问与交互。

此外,DBMS 还提供所需的工具与机制,支持对数据进行操作、分组、聚合及转换。用户可以动态修改数据,确保其结构和格式符合各种应用程序的要求。

管理元数据

DBMS 通过维护专门的字典来存储元数据(即关于数据的数据),包括数据结构、表名与列名、数据类型、约束条件、索引及关系等信息。这使得应用程序能够使用结构抽象来处理数据,而无需编写复杂的代码。
元数据管理还允许在不影响应用程序的情况下演进数据设计。例如,添加、修改或删除行和列等模式变更会自动同步到元数据表中。

处理备份和恢复

DBMS 通过提供直观的界面来管理备份和快照,简化了数据库备份过程。数据库管理员可以将备份存储在云存储等第三方位置,以便在发生事故时快速恢复数据。部分 DBMS 还支持按预设时间间隔自动备份数据,也支持持续备份数据。大多数系统都提供恢复工具,可轻松将数据库完全或部分恢复到先前状态。 

提供用户管理控件

DBMS 有助于数据库管理员有效地管理数据库用户并规范用户操作。他们可以配置用户账户、定义数据访问策略并修改限制,以控制对底层数据的访问。 

基本的数据操作包括创建、读取、更新和删除(CRUD)。管理员可以基于用户、角色或访问级别单独设置每种操作的可用权限。例如,部分用户可能仅拥有数据库的读取权限,无法创建或修改数据条目。

许多 DBMS 支持使用数据控制语言(DCL)来定义复杂的访问控制规则。

支持大规模场景下的性能管理

DBMS 采用以下多种技术手段来支持数万名并发用户访问:

  • 通过索引优化来加快查询执行速度,从而减少对全表扫描的需求。
  • 通过查询优化来分析 SQL 查询并选择最有效的执行计划,从而最大限度地减少 I/O 和处理时间。
  • 通过分区和分片,将工作负载分布在多个数据库节点或存储分区上,从而提高查询响应速度和容错能力。
  • 通过并行查询执行,使任务能够在多个 CPU 或节点上同时处理。
  • 数据在多个服务器间进行复制并实现负载均衡,通过分发读写请求来维持系统响应能力,同时防止因故障导致的数据丢失。

DBMS 还内置缓存功能,可将频繁访问的数据存储在内存中,以减少对磁盘的重复访问。集成的工具使用户能够进一步监控、配置和优化他们的数据。

数据库管理系统是如何工作的?

数据库管理系统(DBMS)包含多个相互关联的组件,这些组件共同提供数据库管理、事务处理以及查询服务。

数据库

数据库是 DBMS 的核心,是一种以电子形式存储的系统性数据集合,包含文字、数字、图像、视频和文件等多种类型的数据。数据库内置了规则和条件,可确保数据一致性。尽管数据库可以独立存在,但手动管理数据非常复杂,尤其是在数据规模不断扩大的情况下。因此,DBMS 提供了一个软件层,能够自动处理索引创建、性能调优和访问控制等常见管理任务。

模式

模式用于定义数据库的结构,包括表、列、数据类型、约束条和实体关系。DBMS 将模式信息以元数据形式存储,这使得应用程序无需通过硬编码定义数据结构,就能理解数据并与数据进行交互。用户可通过数据定义语言(DDL)来定义模式。

存储管理器

存储管理器负责在物理设备上高效地存储、检索和更新数据。主要处理以下工作:

  • 文件组织和数据存储结构:实现数据快速检索。
  • 索引和缓存:加快数据查找速度,缓存频繁访问的数据。
  • 数据压缩:在保持快速访问的前提下减少占用的存储空间。
  • 备份和恢复:管理快照和日志文件,确保故障时数据可恢复。

事务管理器

事务管理器负责控制所有规则,确保多名用户能在数据库中执行并发操作,同时维持数据完整性。其可保障事务符合 ACID(原子性、一致性、隔离性、持久性)原则。主要管理以下内容:

  • 提交和回滚:在操作成功时确认更改,或在发生故障时撤销更改。
  • 锁定机制:防止多用户环境中的数据冲突。
  • 并发控制:处理并行读写操作,始终维持数据完整性。

查询引擎

查询引擎负责解析并执行查询操作,使用户能够高效地检索、插入、更新或删除数据。其还提供了一种机制,支持用户构建能通过数据解答的复杂问题。DBMS 通常使用 SQL 这样的数据操作语言(DML)来实现查询功能。

查询引擎的功能包括:

  • 通过分析查询,找到最高效的执行方案。
  • 通过使用索引、联接和聚合函数获取数据。
  • 以表格或层级等结构化格式返回查询结果。

用户界面

界面层允许用户直接与数据库交互,也支持用户通过应用程序、商业智能工具与数据库交互。根据 DBMS 的不同,界面层包含各类用于实现额外功能的工具。该软件层还负责将 DBMS 的其余组件都连接起来,协调这些组件的工作。

有哪些不同类型的数据库管理系统?

许多数据库管理系统产品拥有不同的底层数据库类型、功能和工具。选择何种系统取决于底层数据的形式与结构、性能需求、成本限制、可扩展性、集成能力、技术专业性、数据安全性等诸多因素。下文将介绍几种常见的 DBMS 类型。

关系型

关系数据库管理系统(RDBMS)包含一组具有预定义关系的数据点。数据以表格形式存储,表(关系)中的每一行(记录)都包含该条目的一组相关值(属性)。每条记录都是一个独立的实体,具有唯一的主键属性用于引用。表之间可以建立一对一、一对多或多对多关系。Amazon Aurora 就是关系数据库系统的典型示例。

结构化查询语言(SQL)是大多数关系数据库的默认查询语言。应用程序通过结构化查询语言,实现对关系数据库管理系统(RDBMS)中数据的存储、更新、删除与检索操作。

非关系型

非关系数据库(或称为 NoSQL 数据库)并不以表格形式存储记录,也没有严格的模式定义。相反,数据可以采用多种结构形式,包括:

键值存储型

键值存储是一个数据库,其中,每条记录都是一个唯一的键(例如,名称、数字),并关联一个值(例如,整数、字符串、JSON)。Amazon DynamoDB 就是支持键值存储的数据库管理系统的典型示例。

文档存储型

文档存储是一种经过修改的键值存储,其中每个唯一键都关联一个包含半结构化数据(例如,JSON、XML、YAML)的文档。这种形式的数据库使用 API 或查询语言来提取数据的含义。适用于 JSON 的 Amazon DocumentDB 就是文档存储类型数据库的 DBMS 的典型示例。

图形型

图形数据库采用图形结构,由节点(记录)和边缘(与其他节点的关系连接)组成。边缘还包含有关关系的属性。例如,节点可以代表家谱及其属性(如姓名和年龄),节点之间的边缘则显示它们之间的关系(如孙女与母亲一方的关系)。Amazon Neptune 就是图形数据库管理系统的典型示例。

面向对象型

面向对象型数据库(或称对象数据库)可存储并管理一系列对象实例,每个实例都有自身的一组相关属性。对象之间可以通过外键进行关联,这一点与关系数据库类似。 Amazon Aurora 可用作对象关系数据库管理系统(ORDBMS),是关系数据库和面向对象型数据库的混合体。PostgreSQL 是另一种广受欢迎的 ORDBMS。

层次型

层次型数据库采用层级化结构组织数据,一个父节点可包含多个子节点,形成两层或多层关系。Amazon DynamoDB 可以作为层次型数据库的 DBMS,其嵌套关系以 JSON 形式表示。

时间序列型

时间序列数据库存储与特定时间戳相关联的数据。这类数据库既可以是关系型的,也可以是非关系型的,并且通常需支持流式数据摄取。时间序列数据库所需的 DBMS 取决于其底层数据。Amazon Timestream 就是时间序列数据库的典型示例。

多模型

多模型 DBMS 能够同时管理不同类型的数据库,例如文档数据库和图形数据库。这类系统之所以受欢迎,是因为它们提供了统一的标准界面来管理各类数据库,无需用户切换软件。部分多模型 DBMS 还允许用户跨不同数据库类型组合执行查询操作。

DBMS 技术的未来趋势是什么?

数据和系统方面的进步推动了 DBMS 技术领域的以下进步。

生成式人工智能

生成式人工智能可用于:

  • 根据自然语言指令改进数据库创建和模式设计
  • 优化和调试查询
  • 对底层数据进行复杂建模
  • 根据 DBMS 输出生成人类可读的报告
  • 在保持数据完整性的前提下,根据识别出的效率指标自动重新配置底层数据存储

您无需编写脚本,即可使用自然语言构造查询语句,再由人工智能模型自动将其转换为对应的查询语言。

向量数据库

向量数据库在大语言模型(LLM)定制 [(称为检索增强生成(RAG)] 领域的应用日益普及。通过向 LLM 添加向量数据库,企业能快速将自有知识库集成到现有大语言模型中。在 RAG 架构中,向量化技术能更高效地识别相似词句间的关联,从而提升模型输出结果的准确性与相关性。

目前已出现多款专用向量数据库产品。此外,部分传统数据库也在现有架构中集成了向量数据类型。

其中,Amazon Aurora PostgreSQL 兼容版本与 Amazon RDS for PostgreSQL 均支持 pgvector 扩展插件。Amazon NeptuneAmazon MemoryDBAmazon DocumentDB 等其他 AWS 数据库产品,也可提供向量相似性搜索的托管解决方案。

代理式人工智能与模型上下文协议(MCP)服务器

代理式人工智能将特定工具和资源与生成式人工智能功能相结合,用以执行特定任务或扮演特定角色。人工智能代理之间可相互协作完成协调任务,其运作模式如同各司其职的工作团队。这就需要对代理状态、目标与决策过程进行系统管理。

在该技术平台中,模型上下文协议(MCP)服务器充当人工智能代理的协调中枢,负责管理多重资源。面向数据库服务的 MCP 服务器能轻松实现人工智能应用程序和代理与数据来源和服务的集成。在代理式人工智能系统中,MCP 服务器负责编排自主人工智能代理与关联数据库之间的交互流程,确保数据流与处理过程的高效运行。

代理式人工智能和 MCP 服务器需要数据库提供可扩展且可靠的基础设施,能够同时处理来自多个自主代理的状态管理、复杂查询和数据处理需求。当数据库以 MCP 服务器形式集成时,可帮助企业在基础设施内部,同时为传统数据库操作与代理式人工智能交互维持一致的性能、安全性和可靠性保障。

多种数据库服务都可以与 MCP 服务器集成,使人工智能代理和应用程序能够通过自然语言查询或编程接口与数据来源交互。MCP 服务器作为中间层,将人工智能模型的请求转译为恰当的数据库操作与查询指令。

零 ETL 集成

零 ETL 指省去传统数据处理中的“提取-转换-加载”三个核心环节,这三个环节原本用于将数据迁移、清洗并整合到数据库中。与之相对,在零 ETL 模式下,数据可实现即时复制与快速摄取。

借助零 ETL 技术,能够对流式事务数据执行近实时查询,或者快速组合多种类型的数据库以用于机器学习操作。

部署选项

数据库和 DBMS 所采用的基础设施及部署方式,对数据处理的速度、可扩展性、可用性、成本以及易用性都至关重要。这些选项包括本地部署、云部署、边缘部署、容器化部署、无服务器部署以及混合部署等。

大型国际数据库业务可能会选择容器化的分布式部署配置,制造行业业务则可能选择边缘部署与云部署相结合的方式。例如,为有效应对高流量负载,Biblica 已将其 Microsoft SQL Server 迁移到 AWS。

AWS 如何帮助您满足 DBMS 需求?

AWS 云数据库为各类企业提供广泛的专用数据库管理系统选择。AWS 数据库支持所有后端任务,例如服务器配置、补丁修复、系统配置和数据备份等。在 AWS 持续监控并自动扩缩的同时,您可以专注于应用程序开发。

例如,Amazon Aurora 是 AWS 开发的云原生关系数据库引擎,与 MySQL 和 PostgreSQL 兼容。其兼具传统企业级数据库的速度、可靠性与易用性,以及开源数据库的简洁性与成本效益。

再如,Amazon Relational Database Service(Amazon RDS)是一项托管服务,可以简化在云中设置、操作和扩展关系 DBMS 的过程。它在管理耗时的数据库管理任务的同时,可提供经济实用的可调容量,使您能够腾出时间专注于应用程序和业务。通过 Amazon RDS,您可以使用 PostgreSQLMySQLMariaDBSQL ServerOracleDb2 等常见数据库引擎的功能。

AWS 还提供多项 NoSQL DBMS 服务,可满足您的所有 NoSQL 需求。例如:

  • Amazon DynamoDB 是一项完全托管的无服务器键值数据库服务,可提供一致的个位数毫秒级性能和无限的可扩展性。
  • Amazon DocumentDB(兼容 MongoDB)是一个完全托管的本机 JSON 文档数据库,有助于轻松且经济高效地处理几乎任何规模的关键文档工作负载,并且无需管理基础设施。
  • Amazon Neptune 是一项完全托管的无服务器图形数据库服务,旨在提供卓越的可扩展性和可用性,能够在几秒钟内查询数十亿个关系。
  • Amazon Timestream 是另一项完全托管的专用时间序列数据库引擎,可支持从低延迟查询到大规模数据摄取的各类工作负载。

AWS 云数据库提供高性能、安全且可靠的基础,可为任意规模的生成式人工智能解决方案及数据驱动型应用提供支持。

立即创建免费账户,在 AWS 上开启 DBMS 之旅。