WEB开发网
开发学院数据库DB2 DB2通用数据库的并发性 阅读

DB2通用数据库的并发性

 2008-09-09 16:30:20 来源:WEB开发网   
核心提示: 在维护数据完整性的同时,提供多个应用程序同时访问数据的能力称作 并发性控制,DB2通用数据库的并发性(2),锁锁是一种由 DB2 UDB 用于完成并发性控制的软件机制,锁实质上就是一个控制块,DB2 UDB 可能使用过多的系统资源,尝试服务对附加数据资源进行锁定的附加请求,将 DB2 UD

在维护数据完整性的同时,提供多个应用程序同时访问数据的能力称作 并发性控制。

锁是一种由 DB2 UDB 用于完成并发性控制的软件机制。锁实质上就是一个控制块,将 DB2 UDB 对象或资源与应用程序关联起来,并控制其他应用程序如何访问同一对象或资源。与 DB2 UDB 资源有关联的应用程序被称为“持有”或“拥有”该锁。

通过使用锁,DB2 UDB(管理该数据库)可以防止发生上述几类问题。DB2 UDB 与另一 MVS 地址空间 IRLM 配合管理这些锁。IRLM 将跟踪这些锁及其所有者,以确定应用程序请求的 DB2 UDB 资源是否可用于该类工作。资源可以是 锁定的或 共享的,这取决于当前资源上的锁的“持有者”所进行的处理类型,以及请求应用程序所预期的处理类型。

锁模式

最常用的两种锁模式是 共享的和 排他的。共享锁与只读操作有关联,这意味着持有该锁的应用程序可以读取数据,而其他应用程序也可以读取该数据。排他锁与写操作有关联,这意味着持有该锁的应用程序有资格更新数据,但在锁所有者完成更新(将修改提交给数据库)并释放该锁之前,其他应用程序无法使用该数据。

DB2 UDB 和 IRLM 使用其他类型和子类型的锁模式来实现锁定和并发性控制。您可以在 DB2 UDB Administration 手册中找到关于这点的更多详细描述。

锁定粒度

除了使用各种锁模式,DB2 UDB 还提供了不同的锁定级别,用以控制被锁定数据的范围。各种级别表示了 DB2 UDB 使用的锁定粒度,其范围可以从单个行到整个表空间。DB2 UDB 根据锁定粒度来使用不同的锁模式。

具有多种锁定级别的理由十分简单。某些应用程序可能要求有权读取或更新大范围的数据,而其他应用程序则可能只要求访问窄得多的范围。如果只能使用一种锁定级别,则会降低整个系统性能。例如,一下子锁定太多数据会强制其他应用程序进行不必要的等待。否则,DB2 UDB 可能使用过多的系统资源,尝试服务对附加数据资源进行锁定的附加请求。能够实现多种级别的锁粒度可以极大地提高并发性水平。

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 通用 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接