11.19.7 メンテナンス処理の詳細
更新行のカラム化機能のメンテナンス処理について説明します。
- 〈この項の構成〉
(1) メンテナンス処理とは
メンテナンス処理は,次の3つの処理で構成されています。
-
解析処理
カラムストア表内のローストア形式のデータの格納状況を解析します。HADBによって再配置処理が必要と判断された場合,再配置処理と再利用処理が実行されます。
解析処理の開始タイミングは,HADBによって制御されています。
-
再配置処理
カラムストア表内のローストア形式のデータをカラムストア形式に変換します。変換したデータをカラムストア形式のデータを格納するセグメント(カラムデータ用セグメント)に格納します。
-
再利用処理
カラムストア形式に変換したローストア形式のデータを削除し,ローストア形式のデータを格納していたページを再利用可能なページにします。再利用可能となったページは,INSERT文またはUPDATE文によって追加または更新されたデータをローストア形式で格納する際に再利用されます
- メモ
-
-
更新不可状態のカラムストア表は,メンテナンス処理の対象になりません。
-
レンジインデクスが未完状態のカラムストア表は,メンテナンス処理の対象になりません。
-
(2) メンテナンス処理が中断されるケース
次の場合,メンテナンス処理が中断されます。
-
トランザクションが開始された場合,またはHADBサーバに接続するコマンドが実行された場合
トランザクションが開始された場合,またはHADBサーバに接続するコマンドが実行された場合,実行中のメンテナンス処理が中断されます。トランザクションまたはコマンドの終了後に,メンテナンス処理が再開されます。
-
HADBサーバとのコネクションが確立された場合
HADBサーバとのコネクションを確立する場合,ユーザ認証と権限チェックのためにトランザクションが一時的に開始されます。そのため,実行中のメンテナンス処理が中断されます。HADBサーバとのコネクションが確立すると,このトランザクションは終了します。トランザクションの終了後,メンテナンス処理が再開されます。
-
adbcolumnize --stopコマンドを実行した場合
adbcolumnize --stopコマンドを実行して更新行のカラム化機能を無効にした場合,実行中のメンテナンス処理が中断されます。adbcolumnize --startコマンドを実行して更新行のカラム化機能を有効にすると,メンテナンス処理が再開されます。
-
adbstopコマンドを実行した場合
adbstopコマンドを実行してHADBサーバを終了した場合,実行中のメンテナンス処理が中断されます。adbstartコマンドを実行してHADBサーバを開始すると,メンテナンス処理が再開されます。
-
adbchgsrvmode --quiescenceコマンドを実行した場合
adbchgsrvmode --quiescenceコマンドを実行して,HADBサーバの稼働モードを静止モードに変更した場合,実行中のメンテナンス処理が中断されます。adbchgsrvmodeコマンドを実行して,HADBサーバの稼働モードを静止モード以外に変更すると,メンテナンス処理が再開されます。
-
ノードの復帰処理が開始された場合(マルチノード機能の使用時)
ノードの復帰処理が開始された場合,実行中のメンテナンス処理が中断されます。ノードの復帰処理の完了後に,メンテナンス処理が再開されます。