数据库事务环境与资源管理的挑战与解决方案
1. 改进两阶段提交过程
在事务处理领域,传统的两阶段提交方法存在一定的局限性。Bellcore开发的灵活事务方法对经典的两阶段提交方法进行了重大改进。不过,这种灵活事务更适用于客户端 - 服务器架构,而非由大型僵化数据库管理系统(DBMS)服务的整体式数据库环境。
主要供应商对这种方法的准备情况参差不齐。在并行和分布式数据库系统研讨会之前的研讨会上,IBM坚持提供数据提取(DXT)软件的策略,令人费解。该软件仍然基于批处理方式工作,提取数据后,得到的数据库子集可在24小时内使用。IBM代表称“几乎是同步的”,但它并非IMS事务环境支持的提交的一部分。在这种陈旧的条件下,即使是两阶段提交也是一种新事物,而且我们知道它在信息处理方面存在固有局限性,应用程序会从同一组共享表中进行读写操作,并且在单个数据库管理器的提交单元范围之外没有可写表。这导致无法引入数据同步延迟,也无法维持数据库的完整性。这种方法配置简单、易于实现,适用于用户数量有限的较小场所,但对于更复杂的应用场景则不切实际。
用户也不愿意永远等待大型机解决方案。IBM和其他大型机厂商提出“未来几年将从大型机系统迁移到分布式服务器”,但这一政策扼杀了客户基础,是不可接受的。大型组织无法采用这种观望的方法,因为它们的处理需求超出了供应商的提供范围,而且其业务的分布式性质要求对当前解决方案进行改进。
DEC的Vax Cluster的锁定协议是一种改进,但效果有限。在该协议中,每个对象要么未被使用,要么有一个主节点以特定方式控制对它的访问,具体规则如下:
1. 主节点可以动态更改,并通过分布式目录定位。
2. 根对象的主节点也控制所有从属对象。