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
日本語 (日本)

いくつかの点で、列格納と垂直パーティション化は共通しています。実際に、列格納は通常、テーブルの各列が個別に格納されることを意味しますが、ユーザーにはテーブルが1オブジェクトとして表示されます。ただし、垂直パーティションは通常は複数の列が別のテーブルにパーティション化されることを意味し、そのようなテーブルに対してビューが定義され、ユーザーがテーブル セットを単一のデータベース オブジェクトとして把握できるようにしています。垂直パーティションに1列しかない場合、または、列格納で1つの構造内に複数の列を持ち、その構造を1列に入れることができる場合、機能的な観点で見ると、2つの概念は非常によく似ています。

ただし、列格納および垂直パーティション オブジェクトが物理的に格納される方法は、まったく違います。垂直パーティションとは、通常、垂直パーティションのそれぞれが、プライマリ インデックスおよびセカンダリ インデックス、さまざまなパーティショニングなどを使って並べ替えることができる異なる行格納を使用して別のテーブルに格納されることを意味します。そのため、柔軟性が高い場合もありますが、行の列をリンクするために、より多くの領域が必要となったり、CPUオーバーヘッドがかかるなど、潜在的なコストがかかります。

列格納を使用する場合、それぞれの列値が列格納に追加されるので、1列に対応する値は、他の列パーティション内の「行」に対応する値と同じ相対位置になります。これにより、領域のオーバーヘッドが低くなり、述部を効率的に処理できます。列の多くは、特にテーブル内の重要な列は単一列パーティション内にあるので、垂直パーティションでそうであるように、列格納を圧縮する機会が多くなります。列格納は、1パーティション内に複数列がある場合には発生しません。

Vantageが使用する列パーティションは、垂直パーティションよりも列格納と密接な関係がありますが、Vantageが使用する列パーティションは、1列パーティション内で複数列のサポートもしています。

列格納のVantage実装は、列パーティションとも言います。その理由は、行パーティションの上に作成され、パーティション内で個々の列の格納には効率的です。列格納と同様の方法での列値の格納の基礎として、コンテナを使用し、また、列パーティションに対して行格納も許可するハイブリッド アプローチを許可します。

列パーティションは、列格納の特徴と垂直パーティション化の特徴の両方を持つハイブリッドであると、説明的な句の列パーティション化を形成する各単語の説明から考えることができます。

列パーティション化は、それ自体で使用することもできますが、SELECT、INSERT、UPDATE (UPSERT形式は除外)、およびDELETEなどの問合わせ実行計画で効率的な行パーティション化を合わせて使用できます。ただし、リクエストのターゲット テーブルが列パーティション化されている場合は、UPDATEリクエストまたはMERGEリクエストのUpsert形式は使用できません。