Full Scan量を減らしてパフォーマンスを向上させるというのはTeradataもExadata同じです。
Multi-level Partitioningの例 Teradata Magazine-September 2008より
CREATE TABLE Sales
(storeid INTEGER NOT NULL,
productid INTEGER NOT NULL,
salesdate DATE FORMAT 'yyyy-mm-dd' NOT NULL,
totalrevenue DECIMAL(13,2),
totalsold INTEGER,
note VARCHAR(256))
UNIQUE PRIMARY INDEX (storeid, productid, salesdate)
PARTITION BY (
RANGE_N(salesdate BETWEEN
DATE '2002-01-01' AND DATE '2008-12-31'
EACH INTERVAL '1' YEAR),
RANGE_N(storeid BETWEEN 1 AND 300 EACH 100),
RANGE_N(productid BETWEEN 1 AND 400 EACH 100));

TeradataではOracleでいうところのHash Partitioningされた状況でデータは保存されている。
テーブル内の各行は社員ID(Primary Index)をキーにして各AMP(Access Module Processor)に分散される。AMPは管理する(受け持つ)物理ディスクが決められていて各AMPのメモリ上にもディスク内のデータを保持することから「仮想ディスク」とも呼ばれる。
このハッシュ分散にレンジの概念を取り込むのがPartition Primary Index(PPI)です。
Teradataデータベースアーキテクチャ概説より
ここまで書くとOracleのHash PartitioningにLocal Indexを付けただけ?と勘違いしてしまいそうです。しかし、この図から解るようにAMP内で(複数の)セカンダリ・インデックスがソートされ管理されるのがTeradataのインデックスでOracleのB-Treeインデックスとは違い、Hash Subtable型になっている。
Recent comments
17 weeks 2 days ago
27 weeks 12 hours ago
28 weeks 5 days ago
31 weeks 6 days ago
34 weeks 1 day ago
43 weeks 5 days ago
45 weeks 2 days ago
46 weeks 2 days ago
46 weeks 3 days ago
49 weeks 1 day ago