Netezza Performance Serverの内部データ型

行ID、トランザクションID、データスライスの3つの内部データ型がサポートされている。

次の表では、内部データ型について説明します。
表 1. 内部データ・タイプ
タイプ 列名 ディスク使用量
行 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文では使用できません。