If there are multiple RDAREAs with different page lengths, all RDAREAs with the same or almost the same page length should be allocated to a single global buffer, so that memory utilization efficiency can be improved.
If multiple RDAREAs with very different page lengths are assigned to the same global buffer, the global buffer is allocated as appropriate for the RDAREA with the largest page length. When data pages are input/output in this global buffer for an RDAREA with a small page length, some of the global buffer sectors will remain unused, thereby adversely affecting the memory utilization efficiency.
Figure 12-2 shows an example of data global buffer allocation.
Figure 12-2 Example of data global buffer allocation
For a HiRDB/Parallel Server, global buffers are maintained for each server as appropriate for that server's RDAREA with the largest page length. For example, if the largest RDAREA page length on back-end server 1 is 4096 bytes and the largest RDAREA page length on back-end server 2 is 8192 bytes, the global buffer sizes that could be allocated would be 4096 for back-end server 1 and 8192 for back-end server 2.
If a single HiRDB file system area contains a HiRDB file that consists of multiple RDAREAs, all those RDAREAs should be allocated to the same global buffer.
If multiple RDAREAs have the same page length, but their UAP access methods are different, each RDAREA should be allocated to a different global buffer. Examples of such RDAREAs include RDAREAs with different usage, RDAREAs with frequent sequential processing and infrequent update processing, and RDAREAs subject to frequent addition or update processing.
The database structure modification utility (pdmod) can be used to add the following types of RDAREAs:
For an RDAREA containing a table that uses flexible hash partitioning, ALTER TABLE can be used to add RDAREAs.
Before an added RDAREA can be used, a global buffer must be allocated to it. Thus, if it is expected that RDAREAs will need to be added in the future, global buffers for which the -o option is specified in the pdbuffer operand must be provided in the system common definition, taking into account the largest likely page length for RDAREAs that may be added later.
If no global buffers have been allocated in advance, global buffer allocation must be redefined in order to add an RDAREA and make it usable; the pdbuffer operand in the system common definition is used for this purpose.
When allocating global buffer pools to list RDAREAs, note the following, as well as the design considerations for global buffer pool allocation to user RDAREAs: