1986年C.J.DATE提出了全功能分布式数据库系统的12条准则和目标如下:
1. 局部结点自治性:网络中的每个结点是独立的DBMS,有高度的自治性。
局部结点自治性指网络中的每个结点是独立的数据库系统,它有自己的数据库,运行它的局部DBMS,执行局部应用的所有操作都在自己场地控制下完成。具有高度的自治性还意味着本地数据由本地拥有和管理,包括本地数据的安全性、完整性和存储方式等。实现起来是很困难的。
2. 不依赖中心结点:每个结点有全局字典管理、查询处理、并发和恢复功能。
不依赖中心结点,即网络中的每个结点都是平等的。每个结点具有全局字典管理、查询处理、并发控制和恢复控制等功能。
3. 可连续操作性:增加或撤消结点、动态地建立和消除片段,不中止服务。
连续操作是指该目标使中断分布式数据库服务情况减至最少,当一个新场地合并到现有的分布式系统、或从分布式系统中撤离某一场地不会导致任何不必要的服务中断;在分布式系统中可动态地建立和消除片段,而不中止任何组成部分的场地或数据库;应尽可能在不使整个系统停机的情况下对组成分布式系统的场地的DBMS进行升级。
4. 具有位置独立性。
位置独立性(或称位置透明性),是指用户不必知道数据的物理存储地,可工作得像数据全部存储于局部场地一样。允许数据在不同的场地之间迁移,而不影响应用程序的执行和用户的操作。一般来说,位置独立性需要有分布式数据命名模式和数据字典子系统的支持。
5. 分片独立性:大部分操作是局部的。
分片独立性(或称分片透明性),分布式系统如果将给定的关系分成若干块或片段,每个片段存储在不同的结点上,可提高系统的处理性能。因为,利用分片将数据存储在最频繁使用它的位置上,使大部分操作是局部操作,减少网络的信息流量。如果系统支持分片独立性,用户工作起来就像数据全然不是分片的一样。
数据分片就是把关系划分为若干片段,通过这些片段还可以重构原来的关系。对关系进行分片的方法有三种:水平分片、垂直分片和混合分片。水平分片就是把关系中的元组按不同的条件划分到不同的片段中,每个元组至少属于一个片段。每个片段都是原关系的一个选择结果,片段可以相交或不相交。垂直分片就是把关系中的元组按不同的属性组划分到不同的片段中,每个属性至少属于一个片段。每个片段都是原关系在一组属性上的一个投影结果,片段也可以相交或不相交。混合分片是同时采用水平和垂直分片方法,在已有的水平或垂直分片上,再进行垂直或水平分片。
6. 数据复制独立性:指对给定的关系或片段在不同场地有多个存储副本。
数据复制独立性,是指将给定的关系(或片段)可在物理级用许多不同存储副本或复制品存储在许多不同场地上。支持数据复制的系统应当支持复制独立性,即数据复制透明性,使用户工作就像它全然没有存储副本一样地工作。这样,当增加或减少副本时,不影响终端用户和应用程序的操作。
7. 支持分布式查询处理:有三类查询:局部查询、远程查询和全局查询。
在分布式数据库系统中有三类查询:局部查询、远程查询和全局查询。局部查询和远程查询仅涉及单个结点的数据(本地的或远程的),这种查询优化技术采用的是集中工作数据库的查询优化技术。但是,全局查询涉及多个结点上的数据,其查询处理和优化技术要复杂得多。
8. 支持分布式事务管理,包括恢复控制和并发控制。
支持分布事务管理包括两个主要方面:恢复控制和并发控制,两者在分布式系统中都不同于集中式数据库系统。在分布式系统中,单个事务会涉及到多个场地上的代码执行,会涉及到多个场地上的更新。可以说每个事务是由多个"代理"组成,每个代理代表在给定场地上对给定事务上的执行进程,属于同一个事务的两个代理之间不能发生死锁。在分布式系统中必须保证事务的所有代理,或者全部一致提交,或者全部一致撤消。
9. 具有硬件独立性。
具有硬件独立性,是希望在不同硬件系统上运行同样的DBMS软件。使不同的计算机成为对等的合作者参与支持分布式的工作。
10. 具有操作系统独立性。
具有操作系统独立性,希望在不同的操作系统上运行同样的DBMS软件。
11. 具有网络独立性。
具有网络独立性,如果系统能够支持多个不同的场地,每个场地有不同的硬件和不同的操作系统,则要求该系统能支持各种不同的通信网络。
12. 具有DBMS独立性:可异构型分布。
具有DBMS独立性,实现对异构型分布式系统的支持。理想的分布式系统应该提供DBMS的独立性。
上述的全功能分布式数据库系统的准则和目标起源于:一个分布式数据库系统,对用户来说,应当看上去完全像一个非分布式系统一样。
|