Teradata Database Hashing Algorithm - Teradata Database

Teradata Database Design

Teradata Database
Release Number
English (United States)
Last Update
Product Category

Teradata Database Hashing Algorithm

The Teradata Database hashing algorithms are proprietary mathematical functions that transform an input data value of any length into a 32‑bit value referred to as a rowhash, which is then used to assign a row to an AMP.

Primary‑indexed and primary-AMP-indexed rows are allocated to the AMPs based on the hashed value of their index (see “Row Assignment for Primary‑Indexed Tables” on page 183).

Rows that are inserted into NoPI tables using single-row inserts or Teradata Parallel Data Pump ARRAY INSERTs are allocated to the AMPs based on the hashed value of the Query ID for their request (see “Row Assignment for NoPI Tables” on page 185).

Rows that are inserted into NoPI tables using INSERT … SELECT operations are, by default, appended AMP‑locally to their target table, so there is no need to hash them to a destination AMP.

The rows that are FastLoaded into nonpartitioned NoPI tables (see “NoPI Tables, Column‑Partitioned NoPI Tables, and Column-Partitioned NoPI Join Indexes” on page 230) are assigned to their destination AMPs based on a round-robin protocol.

Note: You cannot FastLoad into a partitioned NoPI table.

You can select from among several hashing algorithms to use with your system, depending on the character sets your site uses. The only difference among the available hashing algorithms is how they are optimized to handle different character sets such as those used by double-byte Asian languages and European languages that use various diacritical marks. You cannot define multiple hashing algorithms for the same system.