什么是分布式数据库的分布透明性

什么是分布式数据库的分布透明性,第1张

交谈中请勿轻信汇款、中奖信息、陌生电话,勿使用外挂软件。

シ给伱╰阳咣╮般啲薀暖へ 15:48:13

在集中式数据库中,数据的独立性是非常重要的。而在分布式数据库系统中,则更强调分布透明性

分布透明性有三个层次:分片透明性、位置透明性、数据模型透明性。为了比较这三种透明性,我们假设有一个关系R(num,name,age,sex)被分成两个数据片R1和R2,分别存储在节点P1和P2上。

分片透明性是分布式数据库系统的最高透明层次。这时,只要保持映射不变,底层的任何修改都不会影响高层应用程序的使用。这样,高层应用程序不必关心数据如何分片,更不必关心数据分片的存储方式及其位置。如下面的查询语句

select name from R where num=$num

位置透明性不屏蔽分布式数据库的逻辑分片情况,但是屏蔽了这些逻辑分片的物理存储位置。这时,用户必须了解分布式数据库的逻辑分片才能编写应用程序,但不需要关心逻辑分片的具体存储位置。如果逻辑分片的存储位置发生变化,只需要修改映射即可。如下面的查询语句

select name from R1 where num=$num

if not FOUND() then

select name from R2 where num=$num

本地透明性是最低层次的分布透明性。用户不仅需要关心数据的分片情况,还要关心每个数据分片的具体存放位置。本地透明性只是向用户屏蔽了站点的具体数据库存储及其管理情况。如下面的查询语句

select name from R1 at P1 where num=$num

if not FOUND() then

select name from R2 at P2 where num=$num

分布式系统的透明性大致包含:访问透明性;位置透明性;迁移透明性;重定位透明性;复制透明性;并发透明性;故障透明性。

系统,指能够完成一种或者几种功能的多个要素按照一定的规律组合在一起的结构。

分布式系统,泛指系统的各种 功能、特性、参数等,不是由个别要素实现,而是分布在整个系统任一位置的系统。特指建立在网络之上的软件系统。有一种说法:分布式系统是若干独立计算机的组合,这些计算机对于用户来说就像是单个相关系统。

分布式系统具备四个关键目标或者说特性:资源可访问,这是分布式系统最主要的目标;透明性,分布式系统需要将它的进程和资源实际上在多台计算机上分布这样一个事实隐藏起来;开放性,分布式系统根据一系列的准则提供服务;可扩展性,这包括规模上的扩展、地域上的扩展和管理的可扩展。

透明性,指本来是存在的事物或属性,但从某个角度看似乎不存在的现象。

分布式一个基本的特点是向用户隐藏系统的内部组织结构,各种计算机之间的差别以及计算机之间的通信方式的差别都被隐藏掉。用户无论在何时何地都能够以一种一致的和统一的方式与分布式系统进行交互。例如,打开手机浏览器,看到的东西可以来自全球各个地方,为了能够在手机上表现,需要许多诸如 基站、光缆、网关、服务器等等等等设备参与。而对用户来说,浏览网页,只是一个手机的功能。向用户隐藏 系统结构、不同设备之间的差别、以及相互的通信方式的特点,即分布式系统的透明性。

由于分布式系统的特性,导致参与系统的人或设备,都无法全面深入的了解系统的状况。以互联网为例:任何联网的设备或加入的信息,最终会导致什么情况,谁也弄不清。最多根据加入的状况,对可能出现的情况有一个基本的掌控。所以,虽然人类创造了分布式系统,但对分布式系统的特性则始终处在探讨中。

同样对于系统的透明性,只能有个大致的说法,而且根据不同的研究角度有不小的差异。一般认为分布式系统的透明性包括的特性有:

访问透明性:对不同的数据表示形式以及资源访问方式的隐藏;

位置透明性:用户无法判别资源在系统中的物理位置,这是通过命名来实现的;

迁移透明性:资源的移动不会影响该资源的访问方式;

重定位透明性:资源在接受访问的同时进行重定位,而不引起用户和应用程序的注意;

复制透明性:对同一个资源存在多个副本这样一个事实的隐藏;

并发透明性:访问共享资源的时候,让任何一个用户都不会感觉到他人也在使用自己正使用的资源;

故障透明性:用户不会注意到某个资源无法正常工作,以及系统随后从故障中恢复的过程。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/9906450.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存