Nonstop Database, HiRDB Version 9 Description

[Contents][Glossary][Index][Back][Next]

6.8.1 Global buffers

A global buffer is a buffer that is used for input and output of data stored in the RDAREAs of a disk. Global buffers are allocated in the common memory. Buffers used for storing data for updating before the data in the database has been updated are called update buffers. Buffers that are used for referencing data or for storing data that has been updated in the database are called reference buffers.

Global buffers are always allocated for RDAREAs and indexes that store data. The following table lists the types of global buffers.

Table 6-9 Types of global buffers

Global buffer type Explanation
Data global buffers Global buffers used for input/output operations on table data. Data global buffers are allocated in units of RDAREAs.
Index global buffers Global buffers used for input/output operations on index data. Index global buffers are allocated in units of indexes.
LOB global buffers Global buffers used for input/output operations on LOB-attribute data. LOB global buffers are allocated in units of LOB RDAREAs.

You can improve performance even more by using these global buffers in combination. For example, when you separately define data global buffers and index global buffers, data and index searches each operate independently, even if they are running at the same time. Consequently, the number of index inputs/outputs can be reduced even for a full-text search of a large amount of data, resulting in reduced processing time. The following figure shows the concept of global buffers.

Figure 6-10 Concept of global buffers

[Figure]

Organization of this subsection
(1) Units for allocating global buffers
(2) Global buffer allocation procedures
(3) Dynamic updating of global buffers

(1) Units for allocating global buffers

(2) Global buffer allocation procedures

You use the pdbuffer operand to allocate global buffers. You can also allocate global buffers using the simple setup tool during environment setup for HiRDB. The following examples show the use of the pdbuffer operand to allocate global buffers:

Examples
pdbuffer -a gbuf01 -r RDAREA01,RDAREA02 -n 1000     1
pdbuffer -a gbuf01 -r LOBAREA01 -n 1000             2
pdbuffer -a gbuf01 -i USER01.INDX01 -n 1000         3
pdbuffer -a gbuf01 -b LOBAREA02 -n 1000             4

Explanation
  1. Allocates a data global buffer to two RDAREAs (RDAREA01 and RDAREA02).
  2. Allocates a data global buffer to a LOB RDAREA (LOBAREA01).
  3. Allocates an index global buffer to an index (USER01.INDX01).
  4. Allocates a LOB global buffer to a LOB RDAREA (LOBAREA01).

For details about the pdbuffer operand, see the manual HiRDB Version 9 System Definition. For details about the simple setup tool, see the HiRDB Version 9 Installation and Design Guide.

(3) Dynamic updating of global buffers

Because you must modify the pdbuffer operand to add, change, or delete global buffers, you normally need to stop HiRDB to perform this operation. However, if you install HiRDB Advanced High Availability, you can use the pdbufmod command to add, change, and delete global buffers while HiRDB is running. This is called dynamic updating of global buffers. As use examples, we recommend that you perform dynamic updating of global buffers in the following cases:

For details about dynamic updating of global buffers, see the HiRDB Version 9 System Operation Guide.