Books
in black and white
Main menu
Share a book About us Home
Books
Biology Business Chemistry Computers Culture Economics Fiction Games Guide History Management Mathematical Medicine Mental Fitnes Physics Psychology Scince Sport Technics
Ads

Teradata RDBMS Database Administration - NCR

NCR Teradata RDBMS Database Administration - NCR , 2004. - 616 p.
Download (direct link): teradatadatabaseadmin2004.pdf
Previous << 1 .. 167 168 169 170 171 172 < 173 > 174 175 176 177 178 179 .. 218 >> Next


During installation, Cylinder Read is enabled by default with four slots per AMP. It is disabled if the Teradata File Segment (FSG) memory per AMP is below 36MB.

Performance may benefit from Cylinder Read during operations such as:

Full-table scan operations under conditions such as:

Large select

Merge insert/select

Merge delete

Sum, average, minimum, maximum, and count aggregates

Joins operations that involve many data blocks, such as:

Merge joins

Product joins

Inner/outer joins

The Teradata File Segment (FSG) Functions

The Teradata FSG subsystem is used by the AMPs and AMP backup activities for reading, writing, and caching data to and from the disks.

FSG maintains a cache of disk segments that are allocated to data blocks for:

Permanent data rows (including secondary index and fallback rows)

Spool space

Cylinder Indexes (CIs), for managing permanent and spool data blocks

Transient Journal (TJ) rows

Recovery journal rows

Synchronized scan (sync scan) data

On an MPP UNIX MP-RAS database, the Buddy Backup data rows

15 - 2

Teradata RDBMS Database Administration Chapter 15: Tools for Managing Resources

Managing I/O with Cylinder Read

Memory Slots in FSG Cache

An FSG segment is the basic unit of memory buffer provided by the PDE for the Teradata File System to manage and access data. When a task requires an FSG segment, the corresponding data is mapped into the FSG virtual address space.

With Cylinder Read, the FSG cache can be viewed as consisting of two regions, the Cylinder Pool and the Individual Segment. The Cylinder Pool occupies the high region and is cut into cylinder-sized memory slots. The size of each slot is 1936KB (equal to 484 pages of memory).

The Cylinder Read Process

When Cylinder Read is enabled (the initial default), it is invoked implicitly, based on memory conditions as well as the nature of the current statement. The processing sequence is as follows:

At this time . This entity . Performs the following .

maps a view of its FSG cache into its virtual address space. (The percentage of available memory to be used for the cache is defined by the FSGCachePercent setting in DBSCONTROLGDO.)

startup

determines whether the amount of cache memory per AMP is sufficient to support Cylinder Read operation.

IF there is .

enough memory to support Cylinder Read

not enough memory to support Cylinder Read

THEN FSG .

Allocates a number of cylinder memory slots per AMP. Depending on the settings of the DBSCONTROLGDO, this number is:

IF the Cylinder Read field is set to . THEN the number of slots FSG allocates per AMP is .
DEFAULT four
USER, and available memory is adequate the number you selected in Number of Slots/AMP
USER, but available memory is not adequate for your setting the number FSG calculates as being optimum.

turns Cylinder Read OFF. It is not enabled again until more memory is freed.

15 - 2 Teradata RDBMS Database Administration

Chapter 15: Tools for Managing Resources

Managing I/O with Cylinder Read

At this time . This entity

Performs the following

receipt of a statement

determines if the statement is a candidate for Cylinder Read operation, such as a full-table scan, an update of a large table, or a join involving many data blocks.

IF the statement is

not suitable for Cylinder Read

suitable for Cylinder Read

THEN DBS .

builds a subtable of data blocks from the target table and invokes a File System read function to read each data block.

prepares for processing as follows:

Step Action
1 Builds a subtable of data blocks from the table.
2 Sets the internal cylinder read (CR) flag.
3 Invokes a File System read function.

detection of the File loops through each cylinder that contains data blocks for the target subtable and

the CR flag System checks the number of data blocks.

IF the number of data blocks on the current cylinder is .

THEN the File System .

less than six

reads the data blocks on the current cylinder one at a time.

six or more

Step Action
1 Constructs a list of the data blocks on the current cylinder.
2 Sends a cylinder read request to the FSG.

15 - 2

Teradata RDBMS Database Administration Chapter 15: Tools for Managing Resources

Managing I/O with Cylinder Read

At this time . This entity

Performs the following .

receipt of a statement prepared for

Cylinder Read

uses Cylinder Read to scan the data when all of the following conditions are met:

IF all of the following are true . THEN FSG .
a free cylinder slot exists within FSG cache Loads into a cylinder slot the smallest chunk containing data blocks on the list.
data blocks already in cache from a previous statement do not reduce the number of data blocks in the current list to less than 6
the I/O time needed to read the blocks on the cylinder is less than the I/O time needed to load the blocks individually, based on:
Previous << 1 .. 167 168 169 170 171 172 < 173 > 174 175 176 177 178 179 .. 218 >> Next