DBMS 中的分布式数据库架构

2025年1月11日 | 阅读 6 分钟

分布式数据库系统

分布式数据库系统是一种存在于或分散在多个位置的数据库,这意味着它不限于任何单个计算机系统。它分散在各种系统网络中。分布式数据库系统物理上存在于不同位置的不同系统上。当来自世界各地的不同用户需要访问特定数据库时,这可能是必要的。对于用户来说,它应该以一种看起来像单个数据库的方式进行处理。

分布式数据库系统的参数

  • 分发

它描述了数据如何在多个站点之间进行物理分布。

  • 自主权

它揭示了数据库系统内部的权力划分以及每个独立 DBMS 享有的自治程度。

  • 异质性

它说明了数据库、系统部件和数据模型之间的相似性或差异。

分布式数据库系统的常见架构模型

  • DDBMS 的客户端-服务器架构

这种架构是两层架构,客户端和服务器是主要功能划分的点或级别。服务器提供了各种功能,例如管理事务、管理数据、处理查询和优化。

  • DDBMS 的点对点架构

在此架构中,每个节点或对等体都被视为服务器和客户端,它同时执行其数据库服务(作为服务器和客户端)。对等体协同工作并相互共享资源。

  • DDBMS 的多 DBMS 架构

这是两个或多个独立数据库系统的合并,它们作为一个单一的集成数据库系统运行。

分布式数据库系统的类型

同构分布式数据库系统

每个站点都存储同构数据库中的相同数据库。由于每个站点都存储相同的数据库,因此所有数据管理方案、操作系统和数据结构在所有站点上都将相同。因此,它们易于处理。

Distributed Database Architecture in DBMS

同构分布式数据库系统有多种类型

  • 自主同构分布式数据库系统:在这种类型的系统中,每个数据库都是独立的,并自动运行。它们集成在一起,并使用消息传递在控制应用程序之间共享数据更新。
  • 非自主同构分布式数据库系统:在这种类型的系统中,数据分布在同构节点之间,并且一个中央或主 DBMS 协调所有站点的数据更新。

同构分布式数据库系统必须满足以下标准

  • 每个站点都有相同的软件。
  • 每个位置使用的操作系统必须相同或兼容。
  • 每个位置使用的数据结构必须是相同的类型。
  • 每个站点都放弃了部分自主权,包括更改模式或软件的权利。
  • 用户可见为单个系统。

同构数据库系统是一个由两个其他 Oracle 数据库组成的网络,这些数据库位于一台或多台机器上。下图显示了一个连接三个数据库的分布式系统。

Distributed Database Architecture in DBMS

异构分布式数据库系统

在这种类型的数据库系统中,不同的站点用于存储数据和关系表,这使得数据库管理员难以进行事务和向数据库运行查询。此外,一个站点甚至可能不知道其他站点的存在。不同的计算机可能使用不同的操作系统和数据库应用程序。由于每个系统都有自己的数据库模型来存储数据,因此需要翻译方案来建立不同站点之间的连接以传输数据。

Distributed Database Architecture in DBMS

异构分布式数据库系统有不同的类型

  • 联邦异构分布式数据库系统:在这种类型中,系统本质上是独立的并集成在一起,因此它们作为单个数据库系统运行。
  • 非联邦异构分布式数据库系统:这种类型的数据库系统采用中央协调模块,通过该模块访问数据库。

异构分布式数据库系统必须满足以下标准

  • 不同类型的站点可能使用不同的模式和软件。
  • 模式差异是查询过程的主要问题。
  • 软件差异是事务处理的主要问题。
  • 每个站点可能彼此不了解。
  • 事务处理中的协作设施有限。

分布式数据存储

我们可以通过两种方法在不同的站点存储数据

  • 复制

此方法涉及在两个或多个位置冗余存储完整关系。由于可以从每个站点访问完整的数据库,因此它成为一个冗余数据库。系统通过复制保留数据副本。

这具有优势,因为它使得在许多位置可以访问更多数据。此外,查询请求现在可以并行处理。

但是,也有一些缺点。数据必须频繁更新。在一个站点进行的任何更改都必须在存储该关系的每个站点进行记录,以避免不一致的结果。这里有很多开销。此外,由于现在必须跨多个站点监控并发访问,并发控制变得复杂得多。

  • 碎片化

根据此方法,关系被分解(即分解成更小的部分),每个片段存储在需要它的许多位置。为了确保没有数据丢失,必须以允许重建原始关系的方式创建这些片段。

由于分片不会导致数据重复,因此一致性不是问题。

分片的优点

  • 效率:这使得数据可以放置在其使用点附近,从而可能减少传输,并减少用户查询中涉及的关系大小。
  • 更好的性能:分片还通过允许访问关系的不同集合的并发事务彼此独立地进行来最大化一致性。此外,单个查询还可以通过并行访问不同的片段而受益于分片。
  • 查询简易:使用联合和片段上的操作来连接分布在不同站点的数据非常容易编写查询。
  • 片段的碎片化:可以进一步将现有片段碎片化到任意深度。

分片的缺点

  • 访问速度不一致:分布式系统可能由地理位置分散的计算机系统组成,这些系统在处理速度方面差异很大。
  • 定义最佳分片的问题:由于不同的应用程序访问相同的数据并具有不同的访问视图要求,因此定义一个好的分片单元并不简单。
  • 完整性:由于关系在分布式系统中的多个站点之间进行分片,因此控制数据的完整性可能很困难。

分片方式

数据分片策略基于关系级别,由单个关系分成逻辑片段。以下是各种分片类型

  • 水平分片

在水平分片中,关系表或模式被分解为一组一行或多行,每行获得模式的一个片段。它也称为按行分割

Distributed Database Architecture in DBMS
  • 垂直分片

在此分片中,关系表或模式被划分为一些更小的模式。每个片段中必须存在一个共同的候选键,以保证无损连接。这也被称为按列分割

Distributed Database Architecture in DBMS

混合分片

它是水平分片和垂直分片的组合。这也称为混合分片。在这种情况下,一个关系可以被分成几个水平片段,每个片段包含属性的一个子集。原始关系通过加法和联合操作的组合来检索。

Distributed Database Architecture in DBMS

分布式数据库系统的应用

  • 多媒体应用程序使用它。
  • 制造控制系统也使用它。
  • 另一个应用是公司管理的信息系统。
  • 它用于连锁酒店、军事指挥系统等。

DBMS 中分布式数据库架构的多选题

1. 分布式数据库系统使用以下哪种策略?

  • 完全集中在一个位置,并通过多个站点访问
  • 部分集中在一个位置
  • 部分由多个站点访问
  • 部分集中在一个位置,并通过多个站点访问

答案:a

解释:分布式数据库系统使用以下策略。

它完全集中在一个位置,并由多个站点访问。

2. 在以下分片列表中,哪一个不是分片类型?

  • 垂直分片
  • 对角分片
  • 水平分片
  • 混合分片

答案:b

解释:分片有以下类型。

垂直分片、水平分片和混合分片。