The role and importance of Db2 group buffer pools in data sharing groups

In a parallel sysplex environment two or more DB2® subsystems can be grouped in a so-called data sharing group to share a single set of data while maintaining data integrity.

Each member, respectively Db2 subsystem, of a data sharing group continues to own its local set of buffer pools for the purposes and benefits described so far. However, to coordinate the flow of data between multiple subsystems and the shared set of physical I/Os, a common set of buffer pools is required as intermediary. This set is called group buffer pool because it serves all members of a data sharing group. Group buffer pools (GBPs) are located in a coupling facility (CF), the piece of hardware that provides a shared memory capability in a parallel sysplex environment.

Figure 1. The role of a group buffer pool in a Db2 data sharing group. Note how the buffer pools of the individual subsystems are mapped; there is one group buffer pool for all buffer pools of the same name. The number of group buffer pools is always less or equal than the number of the local buffer pools of the Db2 subsystems. GBP0 is always available; it provides access to Db2 catalogs and directories for all members of a data sharing group.
This figure is a graphical representation of how group buffer pools interrelate among multiple DB2 subsystem buffer pools and physical storage media.

Db2 provides the necessary data sharing mechanisms for locking and caching of data to ensure data coherence among member and group buffer pools, and to ensure data consistency in the entire data sharing group. Further, Db2 provides commands to create, alter, and monitor group buffer pools, similar to commands for buffer pools of individual subsystems.

With regard to performance, it can easily be seen that group buffer pools are subject to similar criteria than the members' buffer pools: They prefetch data from disks in advance, cache it for use by the members' buffer pools, and cast out data to disks asynchronously. The important point is that the activity in group buffer pools is the cumulative activity of the members' buffer pools. Therefore, it is even more essential to frequently monitor and tune the performance of group buffer pools to maintain a high data throughput.

For a detailed introduction to Db2 data sharing and group buffer pools, see Db2 11 Data Sharing: Planning and Administration.