User Considerations|Advanced Database Considerations|LOB - ユーザーの考慮事項 - Parallel Transporter

Teradata® Parallel Transporterリファレンス - 17.20

Product
Parallel Transporter
Release Number
17.20
Published
2022年10月10日
Language
日本語
Last Update
2022-11-21
dita:mapPath
ja-JP/rwr1645128188440.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2436
Product Category
Teradata Tools and Utilities
  • 特にジョブのロードにInserterオペレータのインスタンスを複数使用するときに、インライン メソッドの方がパフォーマンスが良いため、可能であればTeradata PTとデータベースの間でのLOBデータの転送にインライン メソッドを使用することを推奨します。

    しかしインライン メソッドの使用には問題点もあり、データ行全体がデータベースにより制限される現在行サイズの上限である1,000,000バイトを超えることは許されません。

  • 大量のデータ(おそらく1, 000, 000行以上)をデータベース テーブルにロードするとき、データ行のサイズが1,000,000バイトを超えない場合は、ユーザーはBLOBをVARBYTEとして、およびCLOBをVARCHARとしてロードすることを検討した方がいい場合があります。 データベースは、VARBYTEからBLOBへ、およびVARCHARからCLOBへの、簡単なデータ変換を実行できます。 このため、Teradata PTはExportオペレータを使用してLOBデータ(VARBYTE列またはVARCHAR列として定義される)を高速で抽出し、LoadオペレータまたはUpdateオペレータを使用してLOBデータ(VARBYTE列またはVARCHAR列として定義される)を高速でロードできます。
  • BLOBデータまたはCLOBデータをVARBYTEまたはVARCHARとしてテーブルにロードする場合は、Teradata PTジョブ スクリプトで次のことを行なう必要があります。
    • BLOB列をVARBYTEとして定義すること。
    • CLOB列をVARCHARとして定義すること。
    • データがデータベース テーブルから抽出される場合に、BLOBからVARBYTE、およびCLOBからVARCHARに明示的に変換するために、SelectStmt属性で指定されるSQL SELECT文でCAST関数を使用すること。
  • SQL Selectorオペレータがデータベース テーブルから遅延LOBデータを抽出し、SQL Inserterがそのデータを別のデータベース テーブルにロードするときは、データ行が正常に挿入されると各行に関連するLOBデータ ファイルは削除されます。 ジョブのロードが終了するまでに、SQL Selectorオペレータが作成したLOBデータ ファイルはすべて削除されます。
  • Teradata PTジョブが遅延メソッドを使用してLOBデータをデータベース テーブルから抽出し、外部のターゲットに書き込むときは、外部ターゲットに書き込まれる各レコードに関連するLOBデータ ファイルはジョブの終了時に削除されません。
  • 外部ファイル(データベースではないソース)からLOBデータをデータベース テーブルにロードするジョブの場合、ユーザーは同じスキーマ内でインラインと遅延の両方のLOBデータ型を定義できます。そのジョブ スクリプトでは、DataConnectorオペレータをプロデューサとして使用し、Inserterオペレータをコンシューマとして使用します。したがって、そのジョブでは次のスキーマが有効です。
    col1  CLOB(2000),
    col2  BLOB(2000),
    col3  CLOB(75000) AS DEFERRED BY NAME,
    col4  BLOB(75000) AS DEFERRED BY NAME
    ジョブ スクリプトがデータベース テーブルからLOBデータを読み取る場合、上記のスキーマは有効ではありません。この抽出シナリオでのスキーマには、インラインと遅延LOBの両方の列を含めることはできません。