Netezza internal data types

IBM® Netezza® supports three internal data types: rowid, transaction ID, and dataslice.

The following table describes the internal data types.
Table 1. Internal data types
Type Column name Value Disk usage
rowid rowid 100,000 - 9,223,372,036,854,775,807 8 bytes
transaction ID createxid


1024 - 9,223,372,036,854,775,807 8 bytes
dataslice datasliceid 1 - 2,147,483,647 4 bytes
Identifies a specific record in the database and is guaranteed to be unique, but not necessarily sequential within a table. At installation, the initial rowid value is 100,000. The Netezza host assigns a range of sequential rowids to each SPU. When you insert records, the system assigns them rowids. When the initial allotment of rowids is depleted, the system assigns another range, which is why the rowids cannot be sequential.
transaction ID
Identifies the transaction ID that created the record (createxid) and the transaction ID that deleted the record (deletexid), which is 0 if the record is not deleted. When the system updates a record, it updates the deletexid on the original row with the current transaction ID, inserts a record with the updated value, and preserves the rowid.

An xid is an 8-byte integer of which 48 bits are significant. At installation, the initial xid value is 1024. The size of the xid allows for over 100 trillion (100,000,000,000,000) transaction IDs.

Identifies that portion of the database that is stored on each disk. At installation, the system is divided into a logical number of data slices. When the system creates a record, it assigns it to a logical data slice (and thus a physical disk) based on its distribution key. Although the system dynamically generates datasliceid values, it does not store them with each individual record.
You can use the datasliceid keyword in a query to identify which data slice the records are coming from. For example:
   SELECT DATASLICEID, name FROM employee_table;

For more information about data slices, see the IBM Netezza System Administrator’s Guide.

Note: These internal data type column names are reserved words, which means that you cannot use them in DDL statements.