DBMS 中集中式、去中心化和分布式系统之间的区别

2024年8月28日 | 阅读 12 分钟

在传统数据库系统中,有几个文件用于存储数据。例如,每个客户的数据可能单独保存在一个文件中。而集中式数据库系统将所有信息保存在一个文件中。由于数据都保存在一个位置,因此更容易管理和搜索数据。

由于计算机的广泛使用,需要一个系统来存储来自许多来源的数据和信息。不同的计算机通过网络通道使用各种方法来存储和访问信息。使用这些原理的数据库管理系统具有许多用于存储数据和信息的协议。

集中式数据库管理系统

集中式数据库管理系统是将所有数据存储和管理在一个地方的系统。这通常被称为中央数据库计算机系统。为了集中职责,这种方法通常用于组织、企业或机构。通过网络(局域网 (LAN) 或广域网 (WAN))可以访问数据。集中式数据库管理系统将是一台大型机。

集中式数据库的特点

分布式查询处理

集中式数据库管理系统的主要目的是启用并提供对满足单个节点提出的所有需求的每个连接计算机的访问。

一个核心组件

一个集中式数据库管理系统容纳所有数据和信息。满足所有连接计算机需求的计算机系统被称为服务器,而其他计算机被称为客户端。

透明度

一台计算机系统,通常称为服务器,处理所有查询。此管理系统不包含重复或无意义的数据。为了处理查询和其他需求,每台连接的计算机都可以访问中央计算机。

可扩展

此中央数据库管理系统允许添加任意数量的计算机。通过网络,这些计算机连接到系统。

集中式数据库有什么作用?

组织经常使用集中式数据库来保存多人所需的数据。它们用于存储客户、库存、财务和其他方面的数据。小型和大型公司都可以使用它们。与其他类型的数据库相比,它们具有许多优势。

任何具有适当授权的人都可以访问集中式数据库。这允许许多用户同时处理相同的数据,从而节省大量时间。此外,由于信息和想法可以轻松自信地共享,因此改善了团队合作。这是因为它们托管在旨在持续运行的服务器上。

集中式数据库系统的优势

数据完整性

由于数据集中管理和存储在一个计算机系统中,因此数据更加统一。协调和通信变得更简单,以获得更可靠和有用的数据。

数据冗余

数据被整合并保存在一个地方。没有冗余或不相关的数据集。

更低的维护和成本

集中式数据库系统需要一个单一的存储系统,并且比其他数据库管理系统更便宜的安装和维护成本。所有连接的计算机都可以访问数据。

集中式数据库系统的缺点

处理速度慢

数据集中存储在集中式数据库管理系统中,与 B 站管理系统相比,访问和处理时间较慢。从一个地方获取数据需要更多时间。

效率低下

当许多用户尝试同时访问和处理服务器查询时,会出现问题。核心计算机的处理速度会变慢。这些问题可能会降低效率。

数据丢失

如果系统发生故障或集中式数据库管理系统中的数据丢失,则无法检索。

数据保护

由于数据存储在集中式计算机系统中,因此必须加强数据安全。一个有效且更安全的数据库管理系统是集中式的。

本地化和可扩展性

使用集中式数据库管理系统,可以更快地添加或卸载新的计算机系统。

数据可移植性

数据存储在集中式数据库管理系统中,可以轻松地将数据从一台计算机移动到另一台计算机。

去中心化分布式系统

任务在多个单元之间划分被称为去中心化。它是一个没有一个实体完全控制的网络系统。它的设计是将硬件和软件工作负载分配到多个工作站。这些其他类型的系统最近非常流行,主要是由于比特币的巨大热情。几家公司现在正在寻找这些技术的应用。

去中心化系统不依赖于单个服务器,而是将功能分布到多台机器上。它们由许多主要方拥有。所有者可以存储资源,以便每个用户都可以访问它们。该系统可以图形方式显示。每个用户使用的机器可以看作是相互连接的节点。为了加快访问速度,每个节点都有其他所有节点数据的副本,并且多个所有者都有每个节点的副本。因此,无论何时更新或更改节点数据,更改也会反映在副本中。让我们用几个实例来说明:比特币是去中心化系统最新技术和最佳示例。它是一个没有中央权威的去中心化区块链。任何人都可以加入网络、参与交易和投票。根据多数票做出决定。狗狗币是一种点对点、去中心化的加密货币,支持交易。

我们必须清楚地了解去中心化、中心化和分布式网络。中央网络权威机构为集中式网络做出决策。去中心化系统有多个所有者。分布式系统进一步推动了去中心化。所有权在这里不是一个概念。所有用户都是所有者,并且都拥有平等的权利。

去中心化系统中的每个节点都自己做出决策。不同节点所做决策的总和决定了系统最终的行为方式。应该注意的是,请求不是由单个实体处理的。

示例:由于比特币是去中心化系统最常见的用途,因此我们以它为例。比特币网络不归单个实体或团体所有。该网络由所有相互通信的节点组成,这些节点负责跟踪每个账户持有人拥有的比特币数量。

去中心化系统特性

  • 没有全局时钟:由于每个节点都是独立的,它们独立运行并遵循自己的时钟。
  • 许多中央计算(计算机、节点、服务器):许多中央单元可以监控来自其他节点的连接
  • 依赖组件故障:中央节点故障只影响系统的一部分,而不是整个系统。

去中心化的重要性

  • 以下理由使去中心化至关重要
  • 资源优化:并非每个用户都需要访问所有资源。用户可以借助去中心化系统在较低级别与他人分担负载。
  • 提高产出:由于所有用户都拥有相同级别的权限,因此每个人都更有效地工作以达到最高产出水平。
  • 灵活性:由于没有中央权威机构强制执行限制,用户可以自由表达自己的意见。此外,他们有能力重新考虑他们的选择。

实施去中心化

单个用户希望在去中心化网络中共享某些数据。用户拥有发布内容的完全权限,因为他们不需要授权。网络上的每个用户都相互连接。因此,当用户共享数据时,协议用于将数据分发给其他对等点。对等点接受数据。数据被接受后,协议会更新数据库。通过维护数据库可以跟踪所有信息。

去中心化的必要性

当今技术发展迅速,使用它的人越来越多。集中式系统未能满足系统管理的所有要求。因此,去中心化系统变得越来越有用。它产生了有效、安全和值得信赖的管理。点对点网络得到了增强。它保护每个用户的权利。每个人都有权做出自己的决定。用户也可以访问数据库。去中心化的主要好处是,即使网络的一部分中断,整个网络仍将继续运行。去中心化优于中心化主要是因为它具有快速响应市场需求的灵活性和知识。

去中心化:安全吗?

去中心化非常安全。因为没有中央机构,所以没有中央服务器。每个用户的服务器充当主服务器。因此有各种服务器。黑客入侵每个服务器的可能性是不现实的。因此,许多企业越来越多地实施去中心化网络。谷歌就是一个很好的例子。谷歌的所有产品,从移动 Android 到互联网搜索,都获得了自主运营的能力。

缩放

纵向扩展是一种可能性。如果每个节点都增加资源(硬件、软件)以提高其自身性能,则整个系统将表现得更好。

去中心化系统的组件包括节点(计算机、移动设备等)、连接到通信(电缆、Wi-Fi 等)。

去中心化系统架构

在点对点架构中,所有节点都是彼此的对等点。没有一个节点对另一个节点具有霸权。

一个节点可以通过投票协调系统的一部分并成为主节点,但这并不赋予该节点对其协调的其他节点的至高无上权力。

去中心化系统存在某些缺点

  • 可能导致企业层面的协调问题。由于每个节点都控制自己的行为,因此很难进行群体活动。
  • 不适用于小型系统,因为成本/效益比差,构建和运行小型去中心化系统没有优势。
  • 没有办法控制系统上的节点,也没有更高层的节点监控下属节点的行为。

去中心化系统优势

  • 性能限制很少成为问题。由于所有负载均匀分布到所有节点,因此很少或根本没有瓶颈情况。
  • 高可用性 - 某些节点(计算机、移动设备和服务器)始终可用于使用并保持在线。
  • 更高的自治性和资源控制 - 由于每个节点都负责自己的行为,因此自治性更高,从而实现更好的资源控制。

去中心化系统的负面影响

  • 全球大型任务难以完成 - 没有指挥链来指导其他人执行某些职责。
  • 缺乏监管控制,无法精确识别出现故障的节点以实现可用性,每个节点都需要进行 ping 操作。通过比较预期输出与节点产生的输出,必须进行测试和工作拆分以确定哪个节点出现故障。
  • 无法确定哪个节点响应 - 在去中心化系统中,请求实际上是由系统的一个节点完成的,尽管可能很难确定是哪个节点完成了请求。

去中心化系统应用

  • 对等节点相互连接形成私有网络,或私有网络。
  • 加密货币节点注册成为一个系统的一部分,其中数字货币的传输没有记录谁向谁发送了什么或在哪里传输。比特币中可以看到公共地址和传输的比特币数量;但是,这些公共地址是不断变化的,因此很难追踪。

用例-

  • 由区块链驱动的去中心化数据库 - 整个数据库被分成片段并分发到其他节点进行存储和使用。例如,在第一个节点中存储名称以“A”到“K”开头的记录,在第二个节点中存储“L”到“N”开头的记录,在第三个节点中存储“O”到“Z”开头的记录。
  • 加密货币

分布式系统

“分布式系统”一词指一组通过集中式计算机网络使用分布式系统软件连接但地理上彼此分离的独立计算机系统。每个系统的自治计算机将通过交换文件和资源来相互交互,同时执行分配给它们的任务。

分布式系统图示

每个社交媒体平台可能都有一个充当总部的集中式计算机网络,而分布式系统架构中的自治系统是任何用户都可以访问并使用其服务的计算机。

  • 计算机可以协调它们的努力并共享资源,例如硬件、软件、数据等,这要归功于分布式系统软件。
  • 数据库:这是存储与集中式网络连接的分布式系统的每个节点或系统处理的数据的地方。
  • 如我们所见,每个自治系统都使用一个通用应用程序,该应用程序有可能存储由集中式数据库系统共享的唯一数据。
  • 集中式系统必须具有中间件服务并联网,才能将数据传输到自治系统。
  • 通过充当集中式系统和本地系统之间的接口,中间件服务提供本地系统或集中式系统默认不具备的各种服务。系统利用中间件服务的元素进行交互和处理数据。
  • 为了方便自治系统处理,已通过数据库传输的数据将被分成段或模块。
  • 处理后,数据将通过网络发送到中央系统,在那里存储在数据库中。

分布式系统的特点

  • 在系统的任何地方使用任何硬件、软件或数据的能力被称为资源共享。
  • 开放性:它对系统扩展和升级感兴趣(即,软件的开发和共享的开放程度)
  • 并发性是分布式系统的一个特点,它处理可以由位于不同位置的多个用户执行的相同活动或功能。每个本地系统都有唯一的资源和操作系统。
  • 可扩展性:它通过适应以增强系统的响应能力,扩大系统范围,因为许多处理器与更多用户交互。
  • 透明性:虽然每个系统都应该有隐私,但它向用户和应用程序隐藏了分布式系统的复杂性。
  • 异构性:分布式系统组件在网络、计算机硬件、操作系统、编程语言和开发人员实现方面可能彼此不同。

分布式系统中的应用

  • 自然分布式应用程序,这是分布式系统的一个优势。
  • 地理位置分散的用户在分布式系统中共享信息。
  • 资源交换(自治系统可以从远程位置共享资源)。
  • 它更灵活,并提供卓越的性价比。
  • 它响应更快,数据传输更快。
  • 它对组件故障的抵抗力更强,更可靠和可用。
  • 它具有渐进式扩展能力和可扩展性,允许在更远的地点扩展系统。

分布式系统的缺点

  • 缺乏适用于分布式系统的现代软件。
  • 当资源在许多系统之间共享时,安全性是一个挑战,因为数据很容易访问。
  • 如果存在网络延迟,网络饱和可能会阻碍数据传输,这将使用户难以获取数据。
  • 分布式系统的数据库比单用户系统的数据库复杂得多且难以处理。
  • 如果每个节点都尝试同时传输数据,分布式系统的网络可能会过载。

分布式系统的应用领域

  • 金融和商业是分布式系统的重点应用,包括亚马逊、eBay、网上银行和电子商务网站。
  • 搜索引擎、维基百科、社交媒体和云计算是信息社会的例子。
  • 亚马逊、Salesforce、Microsoft Azure 和 SAP 都使用云技术。
  • YouTube、在线游戏和音乐提供娱乐。
  • 医疗保健:健康信息学和在线患者记录。
  • 教育:电子学习。
  • 物流和交通:GPS、谷歌地图。
  • 环境管理:传感器技术。

扩展我们的数据库

假设我们的在线应用程序大获成功。假设每秒进入我们数据库的请求数量翻倍,超出了它所能管理的范围。您的应用程序的性能将立即开始下降,您的用户会意识到这一点。

让我们一起扩展我们的数据库以满足我们不断增长的需求。

在典型的在线应用程序中,读取信息的频率远高于添加新信息或更改现有数据。

所谓的主-副本复制技术是提高读取性能的一种方法。在这种情况下,您设置两个额外的数据库服务器,它们与主数据库服务器通信。缺点是您只能从这些新实例中读取。

DBMS 中的集中式、去中心化和分布式系统比较

既然您对每个系统有了更深入的了解,让我们将它们相互比较。以下并排比较突出了关键因素,包括容错性、维护、可扩展性、开发和演进。我们对每个因素都使用简单的评级,例如低、中和高。

容错性

  • 集中式系统,低
  • 去中心化系统,中
  • 分布式系统,高

维护

  • 集中式系统,低
  • 去中心化系统,中
  • 分布式系统,高

可扩展性

  • 集中式系统,低
  • 去中心化系统,中
  • 分布式系统,高

开发

  • 去中心化系统和分布式系统处于中等开发阶段。
  • 高度集中化

求值

  • 低演进:集中式结构
  • 高:分布式和去中心化系统