17.10 - グローバル領域のアカウント処理について - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
管理
Publication ID
B035-1093-171K-JPN
Language
日本語 (日本)
DBAは、固定領域、スプール領域、および一時領域を管理するために2つある戦略のいずれかを使用できます。
  • AMPレベルのみ。AMPごとの容量は最大許容AMPレベルの領域です。これは、デフォルトです。
  • グローバル レベルは、システム全体とAMPの両方の制限を管理します。この戦略では、すぐに領域を必要としないAMPの領域を一時的に減らすことで、必要に応じてAMPに余った領域を提供することができます。
DBAがAMPレベルで領域を管理する場合、領域がデータベースまたはユーザーに設定されたハード制限を超えると、トランザクションまたは時間のかかるロード ジョブが停止します。DBAがグローバル レベルで領域を管理する場合、2つの方法でAMPの領域を必要に応じて増やすことができます。
領域の割り当て 作成方法 説明
スキュー係数 CREATE USER/DATABASEまたはMODIFY USER/DATABASEリクエストのSKEWオプション。
SKEWオプションが指定されていない、またはDEFAULTに指定されている場合、スキュー係数は3つのDBS制御ユーティリティ フィールドで管理されます。
  • DefaultPermSkewLimitPercent: 固定領域のスキュー係数を制御します
  • DefaultSpoolSkewLimitPercent: スプール領域のスキュー係数を制御します
  • DefaultTempSkewLimitPercent: 一時領域のスキュー係数を制御します

最大でSKEWオプションの値まで、必要に応じて1つまたは複数のAMPに余った領域を提供します。SKEWオプションは、パーセントまたは定数式で定義することができます。このオプションは、PERM、SPOOL、およびTEMP領域に適用できます。

スキューの制限値が0の場合、AMP領域の容量は領域が制限され、他のAMPに利用可能な領域があったとしても、VantageはAMPに余った領域を提供しません。ゼロ以外のソフト制限の割合の場合、ソフト制限の割合に応じてこの容量を増やすことができます。実際の領域がソフト制限を超えると、ユーザーにはエラーが通知されます。デフォルトのスキュー制限の割合フィールドの値は0です。

DBC.GlobalDBSpaceテーブルは、AMPの累積的な割り当てを記録し、データベースとユーザー グローバルレベルの領域の制限を維持します。

グローバルなソフト制限 DBS制御ユーティリティでGlobalSpaceSoftLimitPercentフィールドにゼロ以外の値を設定します

データベースまたはユーザーが最大領域制限を超えられる割合。この設定は、PERM、SPOOL、またはTEMPの領域に適用されます。デフォルトは0です。

処理でソフト制限を超えると、システムによってアラートが送信されるため、DBAは適切な処置を実行できます。ソフト制限を超えたり、物理的な記憶装置の制限が近付いても、停止できない処理(トランザクション回復など)が実行中の場合があります。この場合、システムは処理を継続しますが、重大度レベルのより高いアラートを通知します。DBAは、この状況で影響を受ける領域をできるだけ早く増やす必要があります。

デフォルトのスキュー制限割合のフィールドとGlobalSpaceSoftLimitPercentフィールドの値を変更するのは、Teradataサポート センター担当者の指示がある場合だけにすることをお勧めします。

スキューを制限されたユーザーの作成

次の例では、固定領域のスキュー制限を10パーセント、スプール領域のスキュー制限を20パーセントに設定したユーザーを作成します。

CREATE USER Caspian AS PERM = 1e9 SKEW = 10 PERCENT, SPOOL = 2e9 SKEW = 20 PERCENT;

上記の例では、システムにAMPが4つあり、各AMPの固定領域は250 MBに制限されています。固定領域のスキュー制限を10パーセントに設定すると、AMPは固定領域の制限から25 MBまで超えることができます。すべてのAMPで使用する固定領域の合計が1 GBのグローバル制限を超えない限り、AMPは固定領域を最大275 MB(250+25)まで使用できます。

同様に、各AMPのスプール領域は500 MBに制限されています。スプール領域のスキュー制限を20パーセントに設定すると、AMPはスプール領域の制限から100 MBまで超えることができます。すべてのAMPで使用するスプール領域の合計が2 GBのグローバル制限を超えない限り、AMPはスプール領域を最大600 MB(500+100)まで使用できます。

グローバル領域のアカウント処理に関する考慮事項

グローバル領域のアカウント処理に関する次の要素を確認します。
  • 実際の領域の使用状況が均一でない場合は、データベースまたはユーザーのグローバル領域のアカウント処理をお勧めします。例えば、偏りのある大量の不明なデータ セットが、元となるテーブルに何度もロードされる場合、またはデータベースやユーザーにオブジェクト固有のデータを含む非常に少ない行を記録するストアド プロシージャまたはUDFが設定されている場合などです。
  • AMPレベルの領域のアカウント処理には、必要に応じた動的な領域の割り当てによるオーバーヘッドがありません。データベースがシステム内のすべてのAMPで均一に分散される場合、またはスキューによるデータ分散のばらつきを許容できるだけグローバル制限が高い場合に推奨されます。
  • 設計上の問題または統計情報の不足により、リクエストが一部のAMPのスプール領域を過剰に使用することがあるため、スプール領域のスキュー制限を設定しないことが最適ではない場合があります。スプール制限が低いと、スプール領域を過剰に使用するリクエストが停止してしまいます。
  • トランザクション中断の原因となる領域不足の危険性を減らすために、システムで大量の領域を消費する実行時間の長いトランザクションがある場合は、グローバルのソフト制限に高い値を設定してみてください。
  • スキューの制限では、特に実際に制限近くまで使用した場合など、領域問題を解決できません。最適な方法は、多くのスキューを設定するのではなく、領域制限を増やすことです。

スキュー係数とプロファイルの相互関係

  • プロファイル値はユーザーの値よりも優先されます。例えば、スプールの制限がCREATE USERリクエストとユーザーがメンバーのプロファイルの両方で定義されている場合、Vantageはプロファイル値を使用します。
  • ユーザーはプロファイルのメンバーである場合、スキュー係数はユーザー定義によって制御されます。

例えば、CREATE USERリクエストでユーザーJoeに10 MBのスプールと20%のスキューを設定しているけれども、Joeが属するプロファイルのスプールが5 MBの場合、Vantageは5 MBのスプールと20%のスキューを適用します。一時領域の指定の場合でも同じです。

スキュー係数とソフト制限の相互関係

スキュー係数とソフト制限は累積的です。例えば、次の数字を考慮してください。
  • グローバル制限: 800 MB
  • ソフト制限: 10%
  • 4-AMPシステムのAMPごとの制限: 200 MB
  • スキュー係数: 25%
上記の数値の場合、グローバル制限は800 MBの制限を10パーセント(800 MBまで)超えることができます。また、AMP全体の合計が880 MBを超えない場合、AMPは200 MBを25%(250 MBまで)超えることができます。グローバルなソフト制限により、各AMPにはさらに20 MBを追加することもできます。スキュー係数とグローバルなソフト制限を組み合わせると、AMP全体で使用する領域合計が880を超えない限り、AMPに割り当てた使用可能な最大領域を250 + 20 = 270 MBに増やすことができます。次の制限のいずれかを超えると、ユーザーにエラー メッセージが送られます。
  • グローバル制限は880
  • AMPごとの制限は270

関連情報

詳細情報 参照先
CREATE DATABASEとCREATE USER、またはMODIFY DATABASEとMODIFY USERのDDLのSKEWオプション Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144
DBS制御フィールド Teradata Vantage™ - データベース ユーティリティ、B035-1102