行分散のスキューによる性能への影響 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ - データベースの管理

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/tgx1512080410608.ditamap
dita:ditavalPath
ja-JP/tgx1512080410608.ditaval
dita:id
B035-1093
Product Category
Software
Teradata Vantage

テーブルの行がAMP間で不均等に分散していると(スキュー)、問合わせの処理効率が低下します。

分散にスキューが発生すると、次の結果が生じます。

  • フル テーブル スキャンおよびバルク挿入の際、CPU並列処理の効率が劣化する。
  • 値が重複する場合に、更新と挿入に伴う入出力が増大する。

テーブルがスキューされると、その影響がいくつかの操作に現れることになります。例えば、次のようになります。

  • フル テーブル スキャンの場合、ターゲット テーブルの行数が少ないAMPは、行数が多いAMPが完了するまで待機することを余儀なくされます。ノードのCPU使用状況はこうした相違を反映することになります。ノード全体の速度は最も遅いノードのAMPと同じになるためです。
  • スキュー テーブルへのバルク(大量の)挿入を行なう場合は、同じNUPI値の行が多数あるAMPに余分の負担がかかるということを考慮してください。

    500万行のテーブルのうち、5,000行が同じNUPI値を持つとします。ここで、100,000行をこのテーブルに挿入します。この挿入行のうち100行はNUPI値が同じであるとします。このNUPI値を持つ5,000行を保持するAMPは、このNUPIについて50万回(5,000 * 100)も重複行の検査をしなければなりません。結果として、この操作の並列効率性が悪化します。