17.00 - 17.05 - 行パーティション化 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLリクエストおよびトランザクション処理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
ユーザー ガイド
Publication ID
B035-1142-170K-JPN
Language
日本語 (日本)

行パーティション化について

テーブルまたは結合インデックスは、行パーティション化を使用し、オブジェクトの定義に使用する行パーティション式に基づいて、行をAMPの行パーティションに割り当てます。行パーティションは、データベース オブジェクトに対して定義されたパーティション式で同じ値を持つ0行以上からなるテーブルまたは結合インデックスで構成されます。

行パーティション化で得られるプライマリ利点は、行パーティション化されたデータベース オブジェクトに対して実行される問合わせを最適化するために、行パーティション排除を使用することです。

配置済みパーティションおよび空のパーティションによるディスク領域の消費

テーブルまたは結合インデックスに定義できるパーティション数が多くなると、それらのパーティションの多くが常に空である確立が高くなります。例えば、データ ブロックごとに100行、AMPごとの各組み合わせパーティションに100データ ブロックを持つ10万個の組み合わせパーティションを定義している200 AMPシステム上のテーブルには2000億行が含まれます。これは、テーブルまたは結合インデックスの最大数が、組み合わせパーティション9,223,372,036,854,775,807個であることを考えると、組み合わせパーティションとしては比較的小さな数です。

各行の長さが100バイトだとすると、主要なデータだけで20ペタバイトのディスクを消費します。これは、20 x 1015バイトになります。すべての組み合わせパーティションが配置済みになることはめったにありません。マルチレベル パーティションの多次元利用を検討するときに、次元値のすべての組み合わせが実際に起こるわけではないことは簡単に推定できます。

一般に、配置済みの組み合わせパーティションには、AMPごとに多くのデータ ブロックが含まれるか、データ ブロックがまったく含まれないことになります。最初の段落で示した例の場合、実際には200ギガバイトのデータしかなく、データが入力された各組み合わせパーティションには、AMPごとに100データ ブロックがあり、組み合わせパーティションの約99%は空です。