MultiLoadの補足 - Parallel Data Pump

Teradata® Parallel Data Pumpリファレンス - 17.20

Product
Parallel Data Pump
Release Number
17.20
Published
2022年10月10日
Language
日本語
Last Update
2022-11-21
dita:mapPath
ja-JP/kpf1641281806652.ditamap
dita:ditavalPath
ja-JP/ovd1619195504008.ditaval
dita:id
B035-3021
Product Category
Teradata Tools and Utilities

Teradata TPumpはMultiLoadのような構文を使用することで、MultiLoadの知識と機能を利用し、MultiLoadからTeradata TPumpへの移行を容易にし、便利なUPSERT機能をサポートします。Teradata TPumpは自身のコマンド構文の大半をMultiLoadと共有して、これら2つのユーティリティ間のスクリプトの変換を促進します。ただし、これらのユーティリティの動作はそれぞれ大幅に異なります。

Teradata TPumpは、以下の面においてMultiLoadを補足します。
  • スケールの経済性
  • 同時並行性
  • リソースの消費

スケールの経済性

MultiLoadはスケールの面で経済的になっているため、非常に大きなテーブルに対して少量のデータを挿入または更新する操作の際には、必ずしも効率的ではありません。MultiLoadが効率的に機能するためには、データベース内の1つのデータ ブロックごとに2行以上を操作しなければなりません。

例えば、65バイトの行が20億行あり、16 KBのブロックから構成されるテーブルに対してMultiLoadが効率的なパフォーマンスを達成するには、テーブルの0.4%(8,125,000行)以上に影響が及ぶようでなければなりません。テーブルの0.4%はわずかな更新ですが、800万行というレコードは、多くの場合、BTEQスクリプトを介して処理しようとするには多すぎるデータです。

同時並行性

MultiLoadは、同時に実行できるインスタンスの最大数がデータベースの可変制限に制限されています。Teradata TPumpでは、このような制限はありません。また、MultiLoadではテーブルレベルのロックが使用されるのに対し、Teradata TPumpでは行ハッシュ ロックが使用されるため、同じテーブルに対する同時更新が可能になります。

さらに、段階的に実行されるというMultiLoadの性質のため、ターゲットテーブルへのアクセスを失なわずにはMultiLoadを停止できない不便な時間枠が生じる可能性があります。これに対し、Teradata TPumpはいつでも停止でき、そのロックはすべて悪影響なく解除することができます。

リソースの消費

MultiLoadは、可能な限り最高のスループットを得るように設計されており、その目的を達成するのに役立つあらゆるデータベース リソースやホスト リソースを使用します。ジョブの実行時間が長くなってもよい場合でも、MultiLoadのリソース消費を減らす方法はありません。しかし、Teradata TPumpには、リソース制御機能が組み込まれています。

この機能により、操作員は、1分ごとに行なわれる更新の数(文の速度)を指定したり、ジョブの実行中に文の速度を変更したりすることができます。したがって、この機能を利用すると、Teradata TPumpが単独で実行される時間枠には文の速度を上げ、ユーザーがアドホックなクエリー アクセスのためにログオンした場合には速度を下げることができます。