15.00 - Detecting Data Corruption Using Disk I/O Integrity Checksums - Teradata Database

Teradata Database Design

prodname
Teradata Database
vrm_release
15.00
category
User Guide
featnum
B035-1094-015K

Detecting Data Corruption Using Disk I/O Integrity Checksums

If both data and corruption patterns are random, then the likelihood that a single 64‑bit checksum sample erroneously matches a single corrupted disk sector is only 1 in 264. Obviously, neither your data nor any potential corruption of it is random, so the likelihood of a false negative is somewhat smaller than 1 in 264, but the efficiency of detecting corruption is still excellent.

For a checksum to fail to detect block‑level corruption, the corrupt data from which it is derived would need to match identically the data in the original, uncorrupted sector.

For example, assume that all but one of the 64‑bit values in a data block is unique. The following table shows the effect of varying the probability of occurrence of the nonunique value and the number of corrupted sectors. The cell values are the likelihoods that the checksum does not catch an error. Shaded cells indicate that all corruption is detected.

 

 

Number of Corrupted Sectors

 

Probability of a Repeated Value (Percent)

1

2

5

10

20

50

     1

0.010

0.040

0.250

1.000

4.000

  25.000

     2

0.000

0.000

0.001

0.010

0.160

    6.250

     3

0.000

0.000

0.000

0.000

0.006

    1.563

     4

0.000

0.000

0.000

0.000

0.000

    0.391

     5

0.000

0.000

0.000

0.000

0.000

    0.098

    10

0.000

0.000

0.000

0.000

0.000

    0.000

    20

0.000

0.000

0.000

0.000

0.000

    0.000

The more words used to generate the checksum value, the better able that checksum is to detect disk I/O errors; however, the rate of increased corruption detection diminishes rapidly, and there is often little to be gained by using higher checksum sample percentages for most applications. See “Integrity Checking Using a Checksum” on page 668 for more about this.

Because CPU utilization increases as a function of the number of words used to generate a checksum, several different levels of checking are provided so you can adjust disk I/O integrity checking at the level of the entire system or of individual tables as needed, balancing integrity checking against system performance.

You can specify system‑wide checksum defaults for various table types using the Checksum Levels fields of the DBS Control utility Disk I/O Integrity fields. You can also specify the system‑wide checksum level definitions for the LOW, MEDIUM, and HIGH values using the same fields. See Utilities: Volume 1 (A-K) and Database Administration for details.