再始動ログ表に必要な空き領域の算出 - MultiLoad

Teradata® MultiLoadリファレンス - 17.20

Product
MultiLoad
Release Number
17.20
Published
2022年10月10日
Language
日本語
Last Update
2022-11-21
dita:mapPath
ja-JP/xyn1641281670262.ditamap
dita:ditavalPath
ja-JP/kju1619195148891.ditaval
dita:id
B035-2409
Product Category
Teradata Tools and Utilities

Teradata MultiLoadの再始動ログ表の所要空き領域は、ジョブの仕様によって大きく左右されます。いくつかの挿入操作はすべてのTeradata MultiLoadジョブで実行されます。その他の挿入操作はジョブに依存します。

Teradata MultiLoadによって自動的に作成される、Teradata MultiLoad再始動ログ表の表定義の一例を次に示します。

CREATE TABLE SFD.samplelog ,FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL
     (
      LogType INTEGER,
      Seq INTEGER,
      ReqRC INTEGER,
      ReqType INTEGER,
      ReqLen INTEGER,
      ReqMsg VARCHAR(255),
      SysInfo VARBYTE(255),
      MiscInt1 INTEGER,
      MiscInt2 INTEGER,
      MiscInt3 INTEGER,
      MiscInt4 INTEGER,
      MiscInt5 INTEGER,
      MiscInt6 INTEGER,
      MiscInt7 INTEGER,
      MiscInt8 INTEGER,
      MLoadSeq INTEGER DEFAULT 0 ,
      MLoadImpSeq INTEGER,
      MLoadSrcSeq INTEGER,
      MLoadCkpt VARBYTE(255),
      RunDate DATE DEFAULT DATE ,
      RunTime FLOAT DEFAULT TIME )
      UNIQUE PRIMARY INDEX( LogType ,Seq ,MLoadSeq );

この表定義から分かるとおり、各行のサイズはVARCHAR長によって異なり、その範囲は0から255です。

  • VARCHARの長さが0の場合、各行のサイズは82バイトです。
  • VARCHAR長が255の場合、各行のサイズは847バイトです。

この表に対して実行される可能性のある挿入は次のとおりです。

  • 7つの強制的な挿入
    • 3つの挿入(DMLフェーズ、取得フェーズ、アプリケーション フェーズに入るごとに1つずつ)
    • 1つの挿入(Teradata MultiLoadタスクの終了を示す)
    • 3つの挿入(それぞれETエラー表、UTエラー表、およびWT作業表の削除を示す)
  • Teradata SQL文(CREATE TABLE、DROP TABLEなど)が処理されるたびに1つの挿入
  • 入力データ チェックポイントごとに1つの挿入

このガイドラインに基づいて見積もると、例に挙げた再始動ログ テーブルに必要な空き領域は260KBになります。

  • 574バイト: 必須エントリ: 82バイト * 7 = 574バイト
  • 2,541バイト: Teradata SQL要求 – 最大値847バイトに平均値3を乗算。847 * 3 = 2,541バイト
  • 127,050バイト: チェックポイント - 1,500万行のTeradata MultiLoadジョブで100,000行ごとチェックポイントを設定し、平均で150のチェックポイントを作成する場合。847バイト* 150 = 127,050バイト
  • 130,165バイト: フォールバック表 - 再始動ログ表自体のサイズを2倍にする。574バイト + 2,541バイト + 127,050バイト = 130,165バイト
  • 260,330バイト: 再始動ログ表所要空き領域の見積もり合計

これらの計算から見積もると、例に挙げたジョブの再始動ログ表の場合、空きメモリ領域量は260Kバイトで恐らく十分です。同様の計算方法で、実際のTeradata MultiLoadジョブで必要な空き領域を見積もってください。