Managing I/O with Cylinder Read
Cylinder Read is a method of loading data blocks in a single database I/O operation. Instead of block I/Os for operations such as table scans and joins that process most or all of the data blocks of a table, Cylinder Read issues an I/O of up to 2 MB.
Because Cylinder Read loads the desired data blocks in a single database I/O operation, Teradata Database incurs I/O overhead only once per cylinder rather than for each data block.
Cylinder Read and I/O
With larger block sizes, it is possible that the frequency of Cylinder Reads will decrease, particularly for moderate or smaller tables. This may increase block-at-a-time I/O requests, driving up I/O demand.
To be a candidate for Cylinder Read on an AMP, the cylinder must contain 6 or more data blocks for the table being accessed. When you increase the block size drastically, more rows fit into each data block and fewer data blocks are needed to hold the rows of the table on each AMP. For large tables this may not be a problem, but you may end up doing more I/O operations on moderate or smaller tables.
Cylinder Read allows you to keep smaller block sizes, while still having the advantage of reading many rows in one I/O operation when scanning.
Using Cylinder Read for WAL Log Maintenance
Setting Cylinder Read to LogOnly using ctl limits cylinder scan to WAL log maintenance only. With LogOnly, the average size of the WAL log should be reduced. Table scan jobs may run slower than before because individual data blocks are read rather than whole cylinders.
Setting Cylinder Read to LogOnly may reintroduce some Cylinder Read performance anomalies that may have caused you to disable Cylinder Read in the first place. But completely disabling Cylinder Read can cause WAL log maintenance to fall behind, thereby causing a general system slowdown.
But by setting Cylinder Read to LogOnly, users only use Cylinder Read for WAL log maintenance and not for table scans, and because WAL log maintenance only runs in the background once a minute, the number of anomalies should be less than those you may have experienced when Cylinder Read was fully enabled.
Tracking Cylinder Read Resource Usage
To track Cylinder Read behavior if you enable resource usage logging, see the Cylinder Read Columns in the “ResUsageSvpr Table” in Resource Usage Macros and Tables.