16.10 - Data Compression and Performance - Teradata Database

Teradata Database Administration

Product
Teradata Database
Release Number
16.10
Release Date
April 2018
Content Type
Administration
Publication ID
B035-1093-161K
Language
English (United States)

Compression is useful to free up additional disk space, but it may or may not enhance performance depending on the type of compression used, the workload, the frequency of data access, and the system capabilities. Compression generally affects performance as follows:

  • They cycle of decompressing and recompressing required to access and store data may significantly increase CPU usage compared to uncompressed data.
  • Storing data in dense, compressed form may reduce I/O requirements.

For details about compression methods, see Database Design.

Multivalue Compression (MVC)

MVC compresses recurring values within a column into a single value in the table header.

Performance Impact

MVC enhances the performance of high data volume applications, like call record detail and click-stream data, and provides significant performance improvement for general ad hoc workloads and full-table scan applications

Smaller physical row size results in less data blocks and fewer I/Os and improved overall performance, depending upon amount of compression achieved.

Select and delete operations show a proportionate improvement in all cases. Inserts and updates show mixed results. The load utilities benefit from the compressed values.

Algorithmic Compression (ALC)

ALC includes:

  • Teradata-supplied UDFs to compress various types of character data
  • The ability to create custom UDF algorithms

Performance Impact

Teradata-standard ALC UDFs tend to reduce I/O, but can increase CPU usage. For information on the compression/decompression functions, see SQL Functions, Operators, Expressions, and Predicates.

Block-Level Compression

BLC compresses data at the data block level.

Because BLC is CPU-intensive, consider the CPU capabilities of the particular Teradata Database platform when using BLC.

When using BLC on the Teradata appliance systems with very high CPU capabilities, you can:

  • Apply BLC to all allowable types of data.
  • Load and access data at any time because there is enough available CPU to frequently decompress data

When using BLC on other platforms with less CPU capacity, you may need to:

  • Load tables during off-peak hours.
  • Limit access to compressed tables during critical throughput periods.

Some operations (including queries, insert/updates, ARC dump/restores, reconfiguration, and CheckTable) can use considerably more CPU while operating on compressed tables. Unless the system is very CPU rich, these operations can impact other workloads and lengthen elapsed response times.