Member subsets overview

A member subset is a database object that expresses a relationship between a database alias and a server list. The server list is composed of a set of members in a Db2® instance.

With members subsets you can centrally manage how an application views the topology of the database environment. Applications connect to a specific database alias that is associated with a member subset, no other application changes are required. Member subset definitions can be adjusted dynamically; applications that take advantage of workload balancing react to these adjustments at transaction boundaries.

For Transmission Control Protocol/Internet Protocol (TCP/IP) based connections, with member subsets you can isolate application workloads to a specific set of members. TCP/IP based connections are assigned to a member subset. These assignments are based on the database alias that is provided by the application to connect to the database. After a connection is assigned to a member subset, the server list that is associated with that member subset is returned to the client.

Member subsets can be advantageous in several situations:
  • Resource utilization: If an application starts to use more resources than normal, this additional resource utilization can leave fewer resources (such as CPU) available to other applications. With member subsets, you can dynamically isolate the application's workload to run on a specific subset. By isolation the workload, you leave other applications to run without impact.
  • Dividing resources: If you have multiple active databases, you can divide member resources between the database by defining a member subset on each database. As a result, clients can drive work to any member. If you have a single active database, you can divide applications across the members.
  • Localizing applications: In a geographically dispersed Db2 pureScale® cluster (GDPC) environment, you can localize applications to run on a set of members that are located at a specific site. Running an application at your local site can increase performance.
  • Client Affinity: In a Db2 pureScale environment, you can control how the Db2 pureScale members are used by database applications. In some situations, you might first want to direct application requests from a particular Db2 client machine to a particular Db2 pureScale member. If the connected Db2 pureScale member goes down due to an outage, you are able to direct that application request to another member. If the second Db2 pureScale member goes down, you can direct the application request to a third member. In other words, you are able to provide an ordered list of Db2 pureScale members to which the Db2 client can connect.
  • Equal opportunity to applications: In a partitioned database environment with a topology that includes a large number of data members, a small number of application members containing no data, and a single administration member, the application members typically have higher processing capability. Applications connect to one of these application members. A member subset can provide equal priority for each of the applications members by defining a member subset with a server list specifying equal priority to each of the applications members.
A member subset consists of:
  • Name: a member subset name, which must be unique within the database.
  • Identifier: a unique integer-based identifier for the member subset. The value is generated by the Db2 product.
  • Database alias: the alias of the database that an application must connect to in order to be assigned to this member subset.
  • State: the state is either enabled or disabled. The state controls whether the member subset is considered when determining what member subset a database connection is to be assigned to. If the subset is disabled, connection requests that are assigned to a member subset are rejected.
  • Member set: a set of one or more members which applications that are assigned to the subset use when performing workload balancing.
  • Failover priority: controls the failover order of the member in the subset for HA purposes.
  • Member priority basis attribute: controls how the priorities for each member in the subsets server list are computed.
  • Inclusive or exclusive attribute: controls whether members that are not explicitly included in the member subset are included in the member subsets server list for HA purposes. Applications that are assigned to an inclusive member subset use members that are not in the subset if none of the members that are in the subset are available. Members that are not in the subset are not used for workload balancing. Applications that are assigned to an exclusive member subset use only members that are in the subset.
  • Alternate server attribute: controls whether the host name and port that is cataloged by the UPDATE ALTERNATE SERVER command is used if no other member is available. This address is not used for workload balancing.

Member subsets are created, altered, and dropped as required by using a set of management routines. For details, see Managing member subset definitions.

When using TCP/IP communications manager, server lists are returned to clients, and contain host name, port and priority information for each member. For details, see Maintaining member subset specific server lists.