DB2 pureScale 增加了很多新功能帮助用户更好地管理数据。DB2 pureScale Feature 可以使用多个成员为同一数据库服务。工作负载均衡(workload balancing)是其重要的特性之一,并且需要特定 DB2 Client 版本的支持。本文主要介绍如何使用 client 配置来控制 D
DB2 pureScale 是 IBM 专门针对 OLTP 工作负载类型的推出的集群技术,集成了持续可用,高扩展性以及对应用透明三大特性,可以为用户提供不间断的服务以及无风险的横向扩展能力以满足业务增长需求。因此 DB2 pureScale 也成为面向 OLTP 业务类型的最佳集群解决方案。
图 1. DB2 pureScale 系统概览
在一个 DB2 pureScale 集群中,采用共享数据的架构,同一时刻集群中的多个数据库成员节点可以同时对外提供数据库服务。而 DB2 pureScale 的工作负载均衡技术,正是实现 DB2 pureScale 集群的持续可用性,高扩展性和应用透明性的保障。DB2 pureScale 集群只有充分利用每个成员的处理能力,将来自应用程序端的数据库服务请求均衡的分布在集群中的各个成员节点上,才能使应用获得最大的工作吞吐量和最小的响应时间。
通常情况下,连接到 DB2 pureScale 数据库集群的客户端应用无需知道自己实际连接的是哪一个成员,以及某一特定的工作负载被分发到哪个成员节点上。所有的这一切对应用程序都是透明的,而且一旦某一成员节点发生故障,该成员节点上的连接和工作负载可以很快的被转移到其他正常的成员节点上继续执行。如果 DB2 pureScale 集群中有新的成员节点恢复或加入,新加入的成员节点可以立刻分担之前运行在其它成员上节点上的工作负载。
DB2 pureScale 集群成员负载信息列表
DB2 pureScale 集群采用了动态的工作负载均衡分发机制,而不是传统的固定轮转 (Round Robin) 的方式。传统的固定轮转的工作负载均衡分发机制如下图所示,假如集群中一共有四个成员节点,因此每个成员节点被分配了 25% 的来自客户端应用的请求。假如每个来自客户端应用的请求对数据库资源的需求是相同的或相似的,那么这种方式是有效的。但实际的生产环境中往往每个客户端过来的请求是不一样的,假设被分配到 Member 0 上的客户端应用请求中有一个是某部门领导在查看销售报表时发起的,该操作中查询非常复杂,将访问大量的数据和消耗大量的服务器资源。如图二所示,这种固定轮转的分发机制将导致 Member 0 上压力异常的大,尽管同一时刻集群中其他的节点上的系统资源仍然很富裕。
图 2. 普通的工作负载均衡分发机制