首页 理论教育分布式数据库技术:面向对象数据库系统的体系结构

分布式数据库技术:面向对象数据库系统的体系结构

【摘要】:关于面向对象数据库系统的体系结构问题,最简单的形态是Client/Server。下面讨论Client/Server体系结构,但要指出,并不是大多数面向对象数据库管理系统都是Client/Server系统。在对象Client/Server DBMS里,这不是最好的方法,因为应用程序的组合/复杂对象结构的导航指派将数据移到客户端。限于篇幅,下面只讨论对象Client/Server体系结构和页面Client/Server体系结构两种典型的体系结构。

关于面向对象数据库系统的体系结构问题,最简单的形态是Client/Server。下面讨论Client/Server体系结构,但要指出,并不是大多数面向对象数据库管理系统都是Client/Server系统。

由于对象模型所具备的特点,因此这里系统的设计目标更复杂,主要考虑如下问题。

●因为数据和程序封装在同一个对象里,所以客户端和服务器间的通信就变成主要矛盾。这里的通信单位可以是页面、对象或对象组。

●与上述问题密切相关的是,按照客户端和服务器所提供的功能设计决策。这是特别重要的,因为对象不是简单的被动数据,它必须考虑对象方法执行的节点。(www.chuimin.cn)

●在关系型Client/Server系统里,客户端将查询结果传递给服务器,并执行它们,再将结果表返回给客户端,这是功能转移。在对象Client/Server DBMS里,这不是最好的方法,因为应用程序的组合/复杂对象结构的导航指派将数据移到客户端(称为数据转移系统)。由于数据被许多客户端共享,所以用于数据一致性的客户缓冲存储器的管理就需要特别关注。客户缓冲存储器的管理与并发控制密切相关,因为数据对客户端来说是存放在缓存里的,所以可以为多个客户共享,也必须受控。大多数商品化的对象DBMS使用封锁技术来执行并发控制,这时的封锁机制需要认真设计,是否将封锁信息存放在缓存并返回给客户端,也是值得考虑的问题。

●因为对象可以是组合的,也可以是复杂的,所以请求对象时,预取成分对象是可能的。关系型Client/Server系统通常并不从服务器预取数据,但在对象DBMS里不失为一种解决方法。

以上问题应当先研究DBMS中的共性问题,再研究由于面向对象而引起的新问题。限于篇幅,下面只讨论对象Client/Server体系结构和页面Client/Server体系结构两种典型的体系结构。