`

分布式关系数据库管理系统(RDBMS)的八大要素

 
阅读更多

 

同信息系统操作核心方面的许多技术一样,数据库管理系统(DBMS)正经历着一场巨大的变革。各个组织机构都在努力适应客户机/服务器计算的持续发展潮流,并尽量满足用户数据存取的要求。信息系统(IS)的管理者们正致力于使含有公司重要信息的数据库更加适用于用户。其目标是提高响应时间,并为那些非常需要数据的用户简化存取。使工作能连续运行而提供的标准规程与方法的信息系统(IS)中央节点处,以及使包括保证数据安全及完整性在内的数据管理最易于执行是急待解决的问题。目前信息系统(IS)机构和数据库管理系统(DBMS)的供应商们都正准备开始采用“分布式关系数据库管理系统”等新的概念和先进技术来满足用户的需要。理想化的分布式数据库管理系统(DBMS)对于用户应是一个单一的、非分布式的系统。采用现有产品来实现这样的系统是数据管理和系统设计的难关。虽然现有的DBMS产品与真正实现分布式数据库管理系统的目标还有很大的差距,但是,这些产品所提供的许多新特性能够使数据管理者和信息系统决策者最早地实现这一目标。管理分布式DBMS的信息系统需求与将这些信息系统置于多个地点的要求之间的一种折衷的方法称为“异步复制”。该方法要求将某一数据库的更改内容,在数据库管理员设置的某一段时间内传送给另一个数据库,这样就使数据能在满足信息系统性能要求的时间段内得以更新。异步复制存在着一定缺陷。因为该技术并不提供那种更为精确的实时数据更新,而是提供资源更为集中的、分阶段提交的数据更新。尽管异步复制存在这些缺陷,但这一技术正逐步成为许多组织和供应商对于公布式数据库管理系统的主要战略目标。供应商们除了适应这一主要发展的趋势外,还将为分布式数据库管理系统(DBMS)的主要技术要求提供不同的方法。下面介绍的是实现一个真正分布式数据库管理系统(DBMS)所需要强调的八大技术要素。了解供应商们是如何提出这几个要素以及各个要素对于你和你的用户的重要性是选择恰当的数据库管理系统的关键所在。

 

一、透明性

在靠近用户服务器处查找不同数据库中数据的能力,是关系数据库管理系统的中心问题,而对于分布式数据库则更为重要。数据的定位、数据的实际存储格式及存取数据所使用的方法等对于用户应是透明的。目前的DBMS不能完全支持分布式的透明性。供应商们使用着不同的SQL方言(SQL语言是目前关系数据库管理系统主要的存取数据语言)。这些方言将怎样定义和管理一个表格的DBMS逻辑结构与如何定义存储数据的物理结构混合在一起。这种定义的混合,使得存取和管理分布式数据更加复杂。更糟的是由于缺乏透明性的支持,将对在未改动应用程序代码情况下充分利用附加的物理资源产生影响。目前,大多数产品都不支持透明性的一个重要要素—一分布式系统目录。缺乏这一要素,开发者就只得陷入到对表定位的应用程序参照上或者至少必须明确的开通与涉及分布式事务的服务器之间的连接上(例如DEC公司的Rdb/VMS系统)。除了这一要素外,透明性通常还包括分布式表的同义词生成(Oracle公司的Oracle7)或与特定服务器的连接(CA公司的OpenIngres)。

 

二、数据完整性

在分布式环境下,保证数据完整性需要对分布式事务或分布式请求的支持。这种能力允许在多个场所局部地或远程地处理由多个SQL请求所组成的事务。如果完整性约束涉及到分布式对象,这种要求便十分明显。如果更新了局部表,且存在远程表参考的完整性约束,那么显然需要某种隐含的分布式事务。象Informix公司的Informix-Online、Oracle公司的Oracle 7和CA公司的OpenIngres/Star等产品都设置了如何表示完整性约束的限制,来有效地达到不为分布式完整性约束提供支持。

 

三、分布式处理DBMS系统一般都不支持随机的多地读、多地写及多地读/写事务。但是,一个真正的分布式DBMS系统不仅必须支持远程请求、远程事务和分布式事务,而且还必须支持分布式请求,因为任何功能都很少隐含着位置相关性。这类要求允许使用关联或合并操作来存取多个位置上的表。分布式事务和分布式需求两者都需要对不尽如人意的分阶段提交或与此相应的方法提供支持。否则,在分布式环境下,不能保证全局数据库的一致性。在这一点上,像CincomSystem的Supra服务器、Informix-Online、Oracle 7和OpenIngres/Star对远程请求、远程事务、分布式事务及分布式请求提供某些支持,但是像Sybase公司的System10则仅支持远程请求和远程事务。

 

四、异步复制

近两年来,被称为异步复制的技术逐渐变得愈加重要。该技术提供了无需分阶段提交开销的扩散数据更新结果的能力。这一技术要求具备两个前提条件。第一,数据更新不需立即扩散,因此所有数据副本不必同时保持一致;第二,应用程序的特点是它不需及时了解与全局数据库一致性的任何冲突。这些前提条件的有效性极难验证并且将主要取决于诸如事务混合、数据库设计及应用程序的功能等细微的内容。该特性不能取代对分布式事务和分布式请求的要求,虽然该特性有时能减少对这些要求的不适当的使用。诸如Oracle 7、System10、Informix-Online和OpenIngres等软件产品提供了异步复制,但是它们在很多方面存在差异。最为明显的是所允许的数据源和数据目的地与诸如表、视图和数据库等复制的疏密度之间的混合。例如,只有OpenIngres复制器是专门为等同结构(Peer-toPeer)和主从结构(Master/Slave)而设计的,Oracle 7.1版本也新增加了这一性能。Informix-Online支持全部的数据库复制,而Oracle 7、OpenIngres和System10则支持更高级别的疏密度。设计的灵活性、安装和管理设备、差错检测与纠正以及数据完整性实施和运行,所有这些在各个产品中都互不相同。

 

五、性能特性存在着几种可以改善DBMS系统性能的方法,其中有裂化,复制及分布式查询优化。

裂化就是将表分割为行子集或列子集,并将这些子集置于不同物理位置的能力。尽管像Informix-Online、TandemComputer有限公司的NonStopSQL等某些产品在某个单独场所支持手工裂化,而目前尚不支持分布式的、自动化的裂化。

不应将复制与异步复制相混淆。复制是一种保持表的一组物理副本的能力,它不考虑物理位置,由DBMS自动地将这些副本保存在系统中。碎片的分布及拷贝既可手工完成也可自动完成,而这样做的目的是为了减少磁盘的I/O操作及网络传输并提高并行性。在某些产品中,复制能够通过生成触发器进行模拟,尽管这样做可能会在 通过分阶段提交来完成数据更新的情况下留下完整的漏洞。

分布式查询优化和执行将充分利用诸如多CPU、数据配置及网络负荷等物理资源。当DBMS系统支持多地读、多地写及多地读/写语句时,那么优化将比只支持单独场所的DBMS系统更加复杂。像Oracle 7的大多数产品将分布式查询简单地划分为单独场所的子查询,然后对这些子查询进行个别优化。不能将这简单地看作分布式查询优化。像Informix-Online、OpenIngres及Supra服务器等产品可提供更高等级的分布式查询优化。

 

六、管理与安全

在目前的DBMS产品中系统管理与安全装置特别薄弱。虽然某些产品通常提供对远程起始和远程结束的支持,但很少对多地的协调起始和协调结束提供支持。同样地,协调备份、存储和恢复也相当弱。通常这些都是为保证全局数据库一致性及易于系统管理所需要的。因为现在的产品在这一方面还很薄弱,所以供应商有时求助于局域自治。这样做简单地回避了当系统管理和安全装置不能把分布式数据库作为一个单一的逻辑实体时,很难管理分布式数据库环境的问题。目前产品中的分布式事务特别令人怀疑,虽然分阶段提交能够解决大多数失效方式,然而所有的实现方法中至少有一种失效方式会导致系统中止或破坏全局的一致性。检测和恢复失效事务的方法仍然十分原始,经常需要对事务及差错日志实体做细致的人工分析。分布式环境中,死锁将导致严重的系统降级。必须做好避免全局死锁或检测与恢复全局死锁的准备。供应商通常实施超时机制的方法,并错误地将这种方法当作一种避免死锁的方法。而实际上,它并不是一种避免死锁的方法。因为当超时机制出现时,它只是结束死锁。并且它不能区分长时间运行的查询与一个真正死锁条件间的差别。很少有DBMS产品能处理分布式死锁的避免、检测和恢复。

 

七、可用性和自治权本地自治并不意味着本地拥有者不能暂时将管理授权给远地。相反,这种授权却是一种有效的方法。万一本地数据库与远地数据库失去了联系,它也不会影响局部数据库的继续操作。尽管为了有效起见,本地操作有时可能是在远程情况下执行和控制的,但应尽可能地在本地执行和控制本地操作。为了避免对某一特殊远程场所的依赖,DBMS必须支持包括字典管理、查询处理、并发控制和恢复控制等大多数功能的分布处理。DBMS管理员可以通过限制物理实施和配置的影响来省略对规划系统关闭的要求。增加、变动(如更新软件或硬件版本、减少硬件等)或移动一个场所、结点或数据库不应破坏系统其余的部分,也不应产生或破坏碎片和复制品及破坏其他数据库对象。

 

八、互操作性在操作平台一级,互操作性就是与硬件无关、与操作系统无关和与网络无关。不管在分布式环境中所选择的硬件、操作系统或网络如何结合,DBMS软件应仍能按相同的方式工作。同样,如果在某一时刻这些环境项有了变动,也不应影响其它结点和场所。大多数DBMS都具有某些平台的性能相关性,此外,某些功能特性并不是在所有平台上都有用,SQL语法可能有微小的差别,而且存储管理可能会产生在特定的环境下发生不同差异的差错。DBMS互操作性是专门为在单一分布式环境中提供存取多种DBMS产品的统一方法而设计的。通过将一些像ANSI SQL、X/Open的关系数据库体系结构及开放软件基金会的分布式计算环境等这样的公用标准,和像微软公司的开放数据库互联、Oracle公司的Glue、Borland国际公司的集成数据库应用程序设计语言接口及IBM公司的分布式关系数据库体系结构等专用标准以及网关技术进行综合,已实现了互操作性。几乎所有的DBMS产品都试图提供一套公用的语法或格式及协议以支持标准,但通常这些尝试并未得以真正实现。同样,这些语法、格式及协议并不倾向于实现指定产品的扩充,而仅是为互操作提供一种最普通水准的方法。相反地,像ASK(现CA公司拥有)、Oracle和Sybase公司的网关技术试图在DBMS产品中通过的转换语法、格式及协议来支持互操作。然而,即使网关产品也明显地限制了互操作的程度,以致于经常不能支持所有的SQL结构和数据类型或者不能表示出在差错及恢复管理方面上的差异。

 

Greenplum

PostgreSQL

HadoopDB

分享到:
评论

相关推荐

    关系数据库管理系统实例.ppt

    3. RDBMS 系统构成:关系数据库管理系统产品的核心功能包括数据定义、数据存取、数据控制等基本操作,逐步发展到第四代应用开发环境。 4. 对应用的支持:关系数据库管理系统产品可以支持多种应用领域,如信息管理、...

    基于云的高性能分布式内存数据库的开发技术

    - **RDBMS(关系型数据库管理系统)**:通常采用磁盘作为主要存储介质,适用于需要持久化存储的应用场景。 - **VERSANT**:更侧重于内存中的数据处理,适用于需要高速数据访问和处理的应用场景,尤其是在大数据和...

    分布式keyvalue键值数据库与关系数据库NoSql.pdf

    关系数据库在可伸缩性方面存在缺陷,新的数据库管理系统开始出现,例如键/值存储、分布式数据库、NoSql数据库等,这些新型数据库管理系统更加注重可伸缩性和高性能,能够满足云计算和大数据时代的需求。

    分布式数据库在金融行业的应用和展望.pdf

    其中,关系数据库管理系统(RDBMS)是数据库技术发展的里程碑,它奠定了金融行业数据库系统的基础。然而,随着数据量的爆炸性增长和业务复杂性的提升,关系数据库也面临着性能瓶颈和扩展性难题。 面向对象的数据库...

    京东开放日分布式MYSQL数据库实践秦波

    京东最新的面试题。MySQL是一个关系型数据库管理系统,...MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

    基于Oracle和Arcsde分布式空间数据库的设计与建立.pdf

    构建分布式空间数据库的关键是放弃传统的数据文件管理,转而利用大型关系数据库管理系统(RDBMS)Oracle 8i。ArcSDE作为Oracle 8i与GIS软件(如ARCGIS)之间的桥梁,提供高效的空间数据操作接口。ArcSDE引入了连续的...

    RDBMS.rar_RDBMS_c语言 数据库_通用数据库_通用数据库管理系统(RDBMS)

    在IT领域,关系型数据库管理系统(Relational Database Management System,简称RDBMS)是用于存储、管理和处理数据的重要工具。本项目"RDBMS.rar"显然聚焦于利用C语言实现一个通用的数据库管理系统,这对于理解...

    SQL Server是由Microsoft公司开发的一种关系型数据库管理系统(RDBMS),主要用于存储、检索、管理和分析大量结

    #### 关系型数据库管理系统(RDBMS) SQL Server是Microsoft开发的一款关系型数据库管理系统(RDBMS),主要用于存储、检索、管理和分析大量的结构化数据。在现代信息技术领域,RDBMS因其高效的数据管理和处理能力而备受...

    SQL是一种用于管理关系型数据库管理系统(RDBMS)的标准化语言

    SQL是一种用于管理关系型数据库管理系统(RDBMS)的标准化语言。 SQL全称为结构化查询语言(Structured Query Language),它是一种专门用于存取、查询、更新和管理数据库中的数据的语言。SQL语言具有强大的功能性...

    基于Oracle的分布式潮汐观测数据库系统的分析与设计.pdf

    Oracle数据库是业界广泛使用的商业关系型数据库管理系统(RDBMS),它以其稳定性、安全性和高性能闻名。Oracle数据库系统具有复杂的体系结构,支持大量的并发用户访问,利用共享服务器架构和多线索服务器设计来优化...

    大型分布式销售管理系统

    在SQL数据库层面,系统可能采用了关系型数据库管理系统(RDBMS),如MySQL、SQL Server或Oracle,以存储和处理大量销售数据。SQL(结构化查询语言)是用于操作这些数据库的语言,可以实现数据的增删改查、事务处理和...

    基于SQL+Server分布式数据库的设计

    分布式数据库设计是一个复杂的工程,尤其当涉及到关系数据库管理系统(RDBMS)如SQL Server时,它要求设计者对数据库的架构和数据分布有深入的理解。本文主要介绍了如何基于SQL Server 6.5数据库管理系统来设计一个...

    5.4空间数据库管理系统.pdf

    在早期,空间数据和属性数据通常是分开管理的,属性数据存储在关系数据库管理系统(RDBMS)中,而几何数据则存储在文件系统中,两者通过标识符(如OID)关联。这种混合管理方式由于需要在不同的系统间切换,使用不便...

    基于WEB的MYSQL数据库管理系统

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它以高效、稳定和易于管理而闻名。基于Web的MySQL数据库管理系统则是将MySQL的功能与Web技术相结合,让用户可以通过Web浏览器进行数据库的管理和操作,...

    数据库系统概论习题集答案

    关系数据库管理系统(RDBMS)是数据库管理系统的一种,基于关系模型的数据库管理系统。关系模型是目前最重要的一种数据模型,三个要素分别是数据结构、关系操作和完整性约束。 关系模型的三个要素分别是: 1. 数据...

    分布式key-value键值数据库与关系数据库-NoSql收集.pdf

    它们通过规范化来消除数据冗余,确保数据一致性,由关系数据库管理系统(RDBMS)支持,例如Oracle、SQL Server、MySQL等。RDBMS的优势在于其简单性、健壮性、灵活性和性能,同时提供了一致的数据管理标准。然而,...

    达梦数据库管理系统DM程序员手册

    DM 以 RDBMS 为核心,以 SQL 为标准,是一个能跨越多种软硬件平台、具有大型数据综合管理能力的、 高效稳定的通用数据库管理系统。 数据库访问是数据库应用系统中非常重要的组成部分。DM 作为一个通用数据库管理系统...

    MySQL API文档 MySQL是一个关系型数据库管理系统

    MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将...

Global site tag (gtag.js) - Google Analytics