http://www-128.ibm.com/developerwor.../0203lurie.html
听说DB2是Shared-nothing 模式的 , 在IBM网站查了一下, 大概了解了怎么回事 , cabinet A 与 cabinet B 中存储的数据不一样, 当有查询来的时候,如果涉及到A, B 中文件存储的表(或表中的行), 那么这个查询会被分解为两部分执行, 一部分结果数据( 这部分数据在cabinet A中 ) 被节点 1 从cabinet A 中获得, 另一部分结果(这其中的数据在cabinet B中 ) 被节点 2 从cabinet B 中获得,即每个节点处理其本地表中的行, 然后将节点的部分结果回传给协调程序节点, 协调程序将来自所有节点的所有结果合并成最终结果集 。
原文:
------------------------------------------------
无共享并行体系结构
“无共享(shared nothing)”体系结构意味着每台计算机都有它自己的 CPU、内存和磁盘。计算机通过高速互连被连接在一起,如 图 1 所示。当处理查询时,每个节点处理其本地表中的行,然后将节点的部分结果回传给协调程序节点。协调程序将来自所有节点的所有结果合并成最终结果集。节点不一定是独立的计算机 — 在单个计算机上可以存在多个分区。
分布式锁(共享磁盘)并行体系结构
共享磁盘体系结构( 图 2)使用锁管理器在计算机之间作出仲裁,这些计算机都访问一个公共磁盘池。这种体系结构在原理上是有缺陷的,因为当节点数增加时,群集会沉溺于锁请求中。速度较快的硬件隐藏了大量的错误,但即使在每个节点上使用锁高速缓存,该方法也不能违背物理规律,并且如果没有特定硬件来完成在 DB2 for z/OS™ 上使用 Parallel Sysplex® 技术实现的作业,它将无法伸缩。 该环境中的数据库访问要求每个节点都在共享磁盘上请求一块数据。 如果另一个节点已经锁定该数据准备更新,那么正在请求的节点必须等待正在更新的节点完成。这种环境容易发生“死锁”的锁情况。节点 1 锁定资源 A 并请求资源 B。节点 2 锁定资源 B 并请求对资源 A 的锁定。这两个节点都不释放它们的锁,所以它们一直等待下去。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84346/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-84346/