The Teradata Database File System is not a general-purpose file system. It helps isolate the Teradata Database from hardware platform dependencies, and supports the creation and maintenance of database tables under the direction of Teradata Database.
The file system stores data in physical rows. A physical row is a general data structure that consists of a row header (metadata that includes a unique row ID) and stored data. Each physical row stores one of several kinds of data. For example:
- A table row
- A series of one or more column partition values
- A table header (metadata for a table)
- Index data structures
This list is not comprehensive; physical rows also store other types of data used by Teradata Database.
To the file system, the kind of data stored in the physical row is immaterial. The interpretation and differentiation is made by the higher-level database software that requests and receives the data from the file system.
In this chapter, the term “row” generally refers to a physical row in the file system, irrespective of the kind of data the physical row stores.
In the Teradata Database File System, a data block (DB) is a disk-resident structure that contains one or more physical rows from the same table. Any single physical row is fully contained within a DB, and every DB is fully contained within a cylinder. A cylinder is a unit of contiguous physical memory that is allocated as a single unit.
At the beginning of each cylinder is a cylinder index (CI) that identifies the data blocks (DBs) the cylinder contains. The Master Index (MI) is a per-AMP global structure that is the top-level file system internal index structure. It is periodically written to disk as a snapshot to speed up system startup times. If the snapshot copy of the MI has problems, the system can reconstruct the MI by inspecting all CIs allocated to an AMP, however, this takes significantly more time than reading the MI from a snapshot.
For more information about data blocks, cylinders, and the physical row layouts for different data structures, see Database Design.