11.18.7 Details of the maintenance processing
This subsection explains the maintenance processing of the updated-row columnizing facility.
- Organization of this subsection
(1) Overview of the maintenance processing
The maintenance processing consists of the following three processing stages:
-
Analysis
How the data in row store format is stored in the column store table is analyzed. If HADB judges that re-allocation is necessary, the data is re-allocated so that it becomes reusable.
HADB controls the time when analysis processing starts.
-
Re-allocation
Data that is stored in a column store table in row store format is converted to column store format. The converted data is stored in a segment that is dedicated to storing data in column store format (a column-data segment).
-
Reuse
The row-store-format data that was used as the source data for conversion to column store format is deleted so that the pages that store the row-store-format data become reusable. The pages that became reusable are reused when data added or updated by using the INSERT or UPDATE statement is stored in row store format.
- Note
-
-
Non-updatable column store tables are not subject to the maintenance processing.
-
Column store tables whose range indexes are in unfinished status are not subject to the maintenance processing.
-
(2) Cases where the maintenance processing is interrupted
The maintenance processing is interrupted in the following cases:
-
When a transaction is started or when a command that connects to the HADB server is executed
If a transaction is started or a command that connects to the HADB server is executed while the maintenance processing is in progress, the maintenance processing is interrupted. The maintenance processing is restarted after the transaction or command ends.
-
When a connection with the HADB server is established
When a connection with the HADB server is established, a transaction is temporarily started to authorize the user and check the privilege. Therefore, the maintenance processing is interrupted if it is in progress. This transaction ends when the connection with the HADB server is established. After the transaction ends, the maintenance processing is restarted.
-
When the adbcolumnize --stop command is executed
If the updated-row columnizing facility is disabled by executing the adbcolumnize --stop command while the maintenance processing is in progress, the maintenance processing is interrupted. The maintenance processing is restarted when the updated-row columnizing facility is enabled by executing the adbcolumnize --start command.
-
When the adbstop command is executed
If the HADB server is terminated by executing the adbstop command while the maintenance processing is in progress, the maintenance processing is interrupted. The maintenance processing is restarted when the HADB server is started by executing the adbstart command.
-
When the adbchgsrvmode --quiescence command is executed
If the HADB server operation mode is changed to quiescence mode by executing the adbchgsrvmode --quiescence command while the maintenance processing is in progress, the maintenance processing is interrupted. The maintenance processing is restarted when the HADB server operation mode is changed to a mode other than quiescence mode by executing the adbchgsrvmode command.
-
When a process that returns a node to a multi-node configuration is started (if the multi-node function is used)
If a process that returns a node to a multi-node configuration is started while the maintenance processing is in progress, the maintenance processing is interrupted. The maintenance processing is restarted when the process that returns the node to the multi-node configuration is completed.