ロード継続

ロードの継続を有効にすると、システムが一時停止されて再開された後に、外部表を使用する単純なロードがシステムで確実に続行されます。 ユーザーがロードを停止して再サブミットする必要はありません。

ロードの継続を有効にするには、以下のいずれかの方法を使用します。
    • code nzloadコマンドに'-allowReplay nオプションをつける。 n の値は許可される再起動の回数を指定します。このオプションは LOAD_REPLAY_REGION セッション変数を 1 に、セッション MAX_QUERY_RESTART 変数を n に設定します。 -allowReplayオプションを指定しないか、オプション設定が0の場合、システムはPostgresのデフォルト設定を使用します。
    • 以下のステップを行ってください。
      1. nzsql コマンドを実行します。
      2. LOAD_REPLAY_REGION セッション変数を手動で true または 1 に設定します。
      3. MAX_QUERY_RESTART セッション変数をゼロ以外の数値に手動で設定します。
      4. 次のステートメントを使用してデータをロードします。
        insert into target select * from external table external_table using …
        説明に従ってセッション変数を設定すると、再始動が許可されます。 それ以外の場合は、Postgres のデフォルト設定が使用されます。
  • nzloadコマンドの'-allowReplayオプションを指定するか、セッション変数'LOAD_REPLAY_REGION1またはtrueに設定すると、システムは、外部テーブルを使用する単純なロードが、システムを一時停止して再開した後も継続することを保証する。 ユーザーがロードを停止して再サブミットする必要はありません。

ロード継続を有効化した場合、システムは SPU に送信するレコードを ホスト・メモリーの再生領域に保持します。 システムは この領域のデータを SPU に送信した後、部分コミットを実行します。 これにより、まだ書き出されていなかったデータがすべて強制的にディスクに書き出されて、 再ロード領域のデータ・バッファーがシステムで再利用できるようになります。 SPU がリブートまたはリセットされた場合、システムは最後の部分コミットまでロールバックしてから、データの処理および送信を再実行します。

重要:

LOAD_REPLAY_REGION セッション変数および MAX_QUERY_RESTART セッション変数を (-allowReplay オプションを使用して間接的にか、手動で) 設定すると、着信データの速度に応じてパフォーマンスへの影響が生じます。

1 つ以上のマテリアライズド・ビューがアクティブ状態にある表に関してはロードの継続を使用できません。 ロードの継続を有効にする前に、関連するマテリアライズド・ビューをサスペンドしてください。 アクティブなマテリアライズド・ビューをサスペンドするには、ALTER VIEWS コマンドを実行します。 ALTER VIEWS コマンドの構文の例を以下に示します。
ALTER VIEWS ON <table> MATERIALIZE SUSPEND
ローディングが完了したら、表のマテリアライズド・ビューを更新し、アクティブにすることができます。 構文の例を以下に示します。
ALTER VIEWS ON <table> MATERIALIZE REFRESH