Netezza Performance Serverの内部データ型
行ID、トランザクションID、データスライスの3つの内部データ型がサポートされている。
次の表では、内部データ型について説明します。
| タイプ | 列名 | 値 | ディスク使用量 |
|---|---|---|---|
| 行 ID (rowid) | 行 ID (rowid) | 100,000 - 9,223,372,036,854,775,807 | 8 バイト |
| トランザクション ID | createxid deletexid |
1024 - 9,223,372,036,854,775,807 | 8 バイト |
| データ・スライス | datasliceid | 1 - 2,147,483,647 | 4 バイト |
- 行 ID (rowid)
- データベース内の特定のレコードを示します。値は必ず固有になりますが、表内で必ずしもシーケンシャルに並んでいるわけではありません。 インストール時の rowid 初期値は 100,000 です。 Netezza Performance Serverホストは各SPUにシーケンシャルな行IDの範囲を割り当てます。 レコードを挿入すると、レコードに rowid が割り当てられるようになっています。 その範囲の初期 rowid がなくなった場合には、別の範囲の rowid が割り当てられます。表内の rowid が必ずしもシーケンシャルでないのは、このためです。
- トランザクション ID
- レコードを作成したトランザクション ID (createxid) およびレコードを削除したトランザクション ID (deletexid) を示します。レコードが削除されていない場合、deletexid は 0 となります。 レコードの更新時には、現在のトランザクション ID を持つオリジナル行の deletexid の更新と、更新された値を持つレコードの挿入が行われ
rowid が保護されるようになっています。
xid は 8 バイトの整数値で、そのうち 48 ビットが有効です。 導入時の xid 初期値は 1024 です。 xid のサイズは 100 兆以上 (100,000,000,000,000) のトランザクション ID の識別に対応します。
- データ・スライス
- 各ディスクに格納されているデータベースの部分を示します。 NPS システムは、導入時に所定の数の論理データ・スライスに分割されます。 レコードが作成されると、分散キーの値を基にそのレコードが論理データ・スライス (ひいては物理ディスク) に割り当てられます。 データ・スライス ID 値は動的に生成されますが、個々のレコードには格納されません。照会内で datasliceid キーワードを使用すると、レコードの保存元であるデータ・スライスを特定することができます。 例:
SELECT DATASLICEID, name FROM employee_table;データスライスの詳細については、『IBM® Netezza®システム管理者ガイド』を参照してください。
注:これらの内部データ型カラム名は予約語であり、DDL文では使用できません。