暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Principles of Distributed Database Systems第一章总结

湖大图谱研究 2021-05-16
964

随着当前计算环境下需要捕获的数据量的急剧增加,分布式和并行数据库系统已经逐渐转变为全球计算环境的主流,而该书第一章节的内容主要是对此技术作了概述。

1、相关定义:

分布式数据库:位于分布式系统节点上的多个逻辑相关数据库的集合。

分布式数据库管理系统(分布式DBMS:定义为允许对分布式数据库进行管理并进行分布、并且对用户透明的软件系统,

分布式数据库系统:用于共同引用分布式数据库和分布式DBMS

分布式系统典型的特征:逻辑相互关联,驻留位置分布,这意味着分布式DBMS为用户提供了统一的数据库的视图,而基础数据则是物理分布式的。

在分布式系统的环境下,分布式计算系统被定义为由大量相互连接、自治处理原件(PE)组成的软件系统,但是PE之间不能相互访问,导致在数据分布情况下信息交互,消耗成本。所以一般来说,会着重于两种类型的分布式DBMS:地理分布(sgeo-distributed)和单个站点(single site)。

地理分布:通过广域网互联,消息等待时间长,错误率高

单个站点(并行DBMS):由PE紧密相邻系统组成,交互快速,错误率较低

2、数据传递

在分布式数据库中,数据传递可能会发生在站点之间、服务器和客户端之间或者服务器之间,同时利用传递方式、频率和通信方法三个维度描述数据传递。其中频率可以是定期、限定条件和临时三种测量方式,通信方式可以分为。此外我们用接收者和提供者分别代表接收数据的机器和提供并发送数据的机器,来解释三个维度:

数据传递传递方式:

只接受(pull-only):接收者向提供者发送请求,当提供者收到请求时,将会定位并传递数据,在这种情况下接收者只有在轮询后才会知道提供者的数据更新。常规的DBMS主要提供基于该方式的数据传递。

只推送(push-only):在没有特定请求的情况下,提供者将信息分发给不同的接收者

混合(hybrid):结合了上述两种方式,例如,持久查询方法提供的一种可能组合方法,即从提供者到接收者的数据传输首先由pull启动,随后传输更新的数据由提供者的push启动。

传递数据中频率一般分为三种:

定期:数据是由提供者定期发送,间隔可以是默认值或者接受者定义

有条件的:只要满足接受者在其配置文件中指定的某些条件,提供者就会发送数据

不定期:主要在基于pull-only模式的系统中执行

传递数据中通信方式:

单播:提供者使用特定的传送模式以某个频率将数据发送到一个接收者

一对多:提供者将数据发送给多个接收者

3、分布式DBMS

前景:

(1)对分布式和复制数据库的透明管理:透明性是指从较低层级事件中分离出较高层级语义,完全透明意为用户不需要关心数据的碎片化、存储位置或者重复数据,并将这些问题交给系统解决。为了使系统能够充分处理这些问题,还需要处理数据独立,网络透明,分区透明,副本透明这些问题。

(2)通过分布式事务可靠访问:分布式DBMS具有复制组件,消除单个站点故障,提高可靠性。在某些瘫痪数据无法访问的情况下,提供全面事务支持的DBMS保证并发执行的事务不会违反数据库一致性,可以使其访问其他部分。

(3)性能改进:数据分区被存储在相近位置,降低cpuio的竞争

(4)轻松的系统扩展:旨在横向扩展(以松耦合的方式添加更多服务器),通过轻松添加组件数据库服务器,分布式DBMS可以提供横向扩展。

构建分布式DBMS出现的设计问题主要涉及分布式数据库设计,分布式数据控制,分布式查询处理,分布式并发控制,分布式副本问题,并行DBMS,数据集成等问题。

4、分布式DBMS体系结构

在构建分布式DBMS要考虑三个因素,本地系统的自治权、分布和异构性。

(1)客户端/服务器(client/server):

左图为两级架构,即将服务器上的功能和需要与需要在客户端上提供的功能区分开来。右图为三级架构,在这种情况下,通常情况是每个应用程序服务器专用于一个或几个应用程序,而数据服务器以多服务器放肆运行,此外,与应用程序的接口通常通过负载平衡器运行,该负载平衡器将客户端请求路由到适当的服务器。


 客户端/服务器体系结构有许多不同的实现。最简单的情况多客户端/单服务器,在数据管理,该架构与集中式数据库并无太大差异。较为复杂的结构是多客户端/多服务器。

(2)Peer-to-Peer

分布式DBMS的早期工作集中在peer-to-peer上,在这些体系结构中,系统的每个站点的功能之间没有区别。现代peer-to-peer系统与早期的有两个重要区别:在最近的系统中有大量分布存在和各个站点固有的异构性和其自治性。在这些系统中,数据库设计遵循自上而下的设计,输入是一个具有自己架构定义(全局概念架构GCS)的集中式数据库,每一个站点都有自己的本地架构(LCS),分布式DBMS将全局查询转换为本地查询。下方左图描述了分布式DBMS处理上述问题的组件。

(3)多数据库

MDBS代表单个DBMS是完全自主的并且没有合作概念的情况。分布式MDBS的基于组件的体系结构模型和分布式DBMS不同,因为每个站点上都是管理不同数据库的成熟DBMSMDBS提供了一个在这些单独的DBMS之上运行的软件层,并为用户提供了访问各种数据库的功能。

MDBS一种流行的架构:Mediator/wrapper,如上方右图所示,Mediator是一个软件模块,通过明确定义的界面执行特定功能,wrapper的任务是在原DBMS视图和meditor视图之间提供映射。

(4)

云通常是由几个地理位置分散的站点组成,每个站点都有自己的资源和数据。云服务提供了各种级别的功能,例如:基础架构即服务(IaaS),平台即服务(PaaS),软件即服务(SaaS),数据库即服务(DaaS)。云计算的出现为客户计算环境带来了很大优势:成本降低,易于访问和使用,服务质量较高,创新性,可伸缩性。但是,在数据迁移到云之前,还存在一些缺点,例如:提供者依赖性,失去控制,安全性保证和隐藏开销等等。

以上基本是第一章内容的基本概括,由于内容较多,有总结不全面的地方,请大家多多包涵,有错误的地方,请大家批评指正。


文章转载自湖大图谱研究,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论