跳至主要内容

什么是数据库架构?

数据库架构是一种逻辑结构,用于定义数据库中数据的组织方式。关系数据库和某些非关系数据库使用架构以描述其数据的结构、数据间的互联以及内部流程。数据库架构为数据存储与组织提供逻辑蓝图,从而提升用户可访问性、可扩展性以及数据完整性。

数据库架构有哪些优势?

数据库架构定义企业如何组织其数据,因此使用数据库架构具有多种优势。

强化组织

企业可将信息组织成清晰的数据结构,以提升组织效率,并确保数据集之间的关系清晰且一致。明确定义的架构还能让企业更轻松地扩展其数据库管理系统。

提升数据完整性

通过实施有关企业如何使用架构存储数据的规则,即使在复杂的存储系统中,也能确保数据的高度完整性。保持规则的一致性有助于确保数据有效性并满足合规性要求。

提高可访问性

数据库架构提供多种视角,可用于观察您使用的整体数据结构。通过这些不同的级别,设计师、管理员和利益相关者即使没有技术知识也能共同探讨该结构。

设计数据库架构的步骤是什么?

数据库管理系统中,设计数据库架构通常包含三个步骤。

1.概念数据库架构

概念数据库架构设计是数据库的最高层级视图,可提供数据库的整体概览,但不包含细枝末节。概念数据库架构设计通常是快速手绘的草图。

例如,关系数据库将数据存储在表中,每个表包含一组相关数据。概念数据库架构可能描述产品表及其属性、客户表,以及表之间的多对多关系。然而,概念数据库架构可能不包含更精细的实施细节,例如数据类型或访问限制。

概念架构可用于绘制组织中的整体数据流图示,无需提供太多详细信息。

2.逻辑数据库架构

逻辑数据库架构设计概述数据库中数据的结构。该设计描述实体之间的关系,并展示数据组织方式的更多详细信息。逻辑数据库架构设计通常是一项数字数据建模工作。

数据架构中的每个实体均基于以下信息进行定义:

  • 表名
  • 实体关系
  • 属性名称
  • 默认值
  • 数据类型
  • 安全限制
  • 程序
  • 视图
  • 索引
  • 元数据

完整的逻辑架构设计通过为新数据和现有数据提供约束条件,以确保数据一致性和数据完整性。

逻辑数据库架构通常不包含任何技术要求。

3.物理数据库架构

物理数据库架构精确描述数据在更广泛的数据库结构中的具体位置。它包含技术存储详细信息,显示文件位置、具体的存储格式,以及每张表用于存储其数据的索引策略。物理架构设计通常是固定数据库技术设计模式和用户规格的结合。

物理架构是数据库架构中最不抽象的形式,可真正揭示数据的位置。数据库实例化需要逻辑架构和物理架构。

数据库架构有哪些建模方式?

不同类型的数据库架构样式适合不同的业务需求和数据类型。在线事务处理(OLTP)数据库(例如产品订购系统)使用实体-关系架构建模技术。联机分析处理(OLAP)系统数据库(例如复杂的业务查询)可能需要不同的建模技术,例如星型架构和雪花型架构。

以下是一些常用的数据库架构样式。

实体-关系(ER)架构

实体-关系架构为每个实体分配一张表,然后映射表之间的连接关系。E-R 架构在所有数据片段之间存在多种关联关系:一对一、一对多以及多对多。这种类型的关系数据库架构利用表、列和行构造数据系统,并通过关系和约束进行连接。

星型架构

企业可基于两大主要原则(事实和维度),使用星型架构以管理和组织大型数据集。基于星型架构的背景,事实是结构的中心,提供基于度量的数据片段。此类核心事实的示例包括交易数量、网站点击量或总购买量。维度随后提供有关该事实的补充信息,例如购买者身份、购买地点以及所购产品。

雪花型架构

雪花型架构与星型架构类似,都使用中央事实表,然后再连接到多个维度表。但与星型架构不同的是,雪花型架构的维度表会衍生出一系列额外的数据库表,以提供有关这些维度的更多详细信息。对于具有大量维度和子维度的数据,使用雪花型架构大有助益。星型架构和雪花型架构通常都用于商业智能。这两种方法都允许数据库用户根据特定业务维度组织其数据视图。

分层架构

分层数据库架构采用树状结构,顶部设有根节点,并由此分支出其他节点分支。在分层模型中,每个“父”数据均可拥有多个子节点,而每个子节点仅能有一个父节点。例如,分层模型可从一家公司开始,分支到每个部门,然后进一步分支到每个部门内的个体员工。

设计 OLTP 数据库架构的过程是什么?

设计数据库架构的过程称为数据建模

以下是构建 OLTP 系统数据模型的主要步骤。

收集需求

创建数据库之前,必须明确其用途并概述关键信息,例如数据库应包含的数据以及计划如何使用该数据库。最适合您的数据库取决于:

  • 您使用的具体数据
  • 与数据库交互所需的查询
  • 您要生成的报告

此步骤概述您的目标,指导您的数据库架构设计过程。

创建实体关系图

实体关系图(ERD)描绘数据库中表、数据库对象及各个实体之间的连接。创建数据库的概念架构视图,让您直观了解数据库的运行方式,并深入洞察其存储的数据。

在此阶段,您还可以定义表、列、数据库对象以及索引在数据库中所使用的命名规则。规则有助于所有人都使用标准化的数据输入方法。

将数据实体组织成表

根据 ERD 映射,现在可将所有数据组织到特定的表中。数据库结构中的每个实体都应拥有独立的表,其中各列分别存储相关属性。定义主键,以便您能够轻松识别和检索特定数据值。

标准化数据结构

标准化是指数据库架构设计中旨在减少数据冗余和提高数据完整性的过程。它涉及将数据组织成表,使数据之间的关系结构清晰,且最大限度减少异常情况。

存在多种范式,每种范式都有特定的要求。每种连续的范式都针对不同的冗余或依赖类型进行处理,以增强数据一致性并提高架构稳健性。

1NF

1NF 要求每列包含原子(不可分割)值,且每条记录唯一。它会移除重复组和多值字段。

2NF

2NF 基于 1NF 构建,确保所有非键属性在功能上必须完全依赖于整个主键(即消除部分依赖关系)。

3NF

3NF 进一步要求所有非键属性仅可依赖主键,而不能依赖其他非键属性(即消除传递依赖关系)。

实施安全措施

创建权限结构,确保仅获得授权的用户才能访问您的数据库和查看其中包含的信息。您可在数据库中为不同的用户组分配不同的权限,例如读取、写入或删除信息的能力,这有助于保护敏感数据的安全。定义基于角色的访问控制,确保仅获得授权的用户才能查看或修改敏感数据。

测试

通过执行一些基本查询和其他交互操作,以测试您的数据库架构设计,从而确保一切按预期运行。在此阶段收集数据库如何运行的数据,为后续所需的任何调整提供依据,以确保架构高效运行且无性能问题。

数据库架构和数据库实例有何区别?

数据库架构是指数据库的整体设计,提供有关数据库结构、可能包含的内容以及数据集之间关系的信息。然而,数据架构仅是数据组织的蓝图;该架构本身并不包含任何数据。

数据库实例是指在任意给定时刻,由数据库架构描述并存储数据的活动会话。实例是指实际数据值所在的位置,随着新数据的添加、删除或更新,这些数据值将不断变化。与数据库架构不同,数据库实例包含所有数据。

什么是数据库架构转换?

数据库架构转换是指将现有数据库架构转换为新格式的过程。这可能涉及添加或修改表、列、索引、限制或表之间的关系。

目标通常是支持新的应用程序需求、提升性能或迁移至其他数据库系统。架构转换可实现更高效的数据组织,或支持新系统的功能。

数据迁移是否需要架构转换,具体取决于源数据库和目标数据库。

AWS 如何支持您的数据库架构需求?

数据建模过程通常在数据库外部完成。模型创建完成后,Amazon Relational Database Service(RDS)支持通过标准 SQL 创建和管理架构。Amazon RDS 提供托管的关系数据库管理系统,例如 PostgreSQL、MySQL 和 Amazon Aurora

对于数据库迁移,AWS Database Migration Service(DMS)是一项托管的迁移服务,可帮助您将数据库和分析工作负载快速、安全地迁移到 AWS。迁移过程中,源数据库可继续正常运行,从而最大程度地减少依赖该数据库的应用程序的停机时间。

AWS DMS 中的 DMS 架构转换确保不同类型数据库之间的迁移更具可预测性。它可以评测源数据提供商迁移的复杂性,并转换数据库架构和代码对象。您随后可将转换后的代码应用到目标数据库。

AWS DMS 架构转换中全新的生成式人工智能功能,可自动完成一些最耗时的架构转换任务。该功能可自动将高达 90% 的架构对象从商业数据库转换为 PostgreSQL 迁移。

您也可以使用 AWS Schema Conversion Tool(SCT)为现有的数据库架构转换数据库引擎。

立即创建免费账户,开始在 AWS 上进行数据库架构转换。