Storage Focus: Databases and Storage Architecture Page 2
The database application itself has multiple features and functions that must be taken into consideration. The components for Oracle are:
- Control files – These are files that record the physical structure of the database and are required for the database to be active
- Table Space – The actual data from the database with the various rows and columns of the database
- Index Files/Space – Indexes are not required structures in Oracle but are almost always used for large databases, as they allow search operations to run significantly faster when looking for something in the database
- Redo logs – The active database requests that allow you to rebuild and restart the database after a crash (these logs are similar in nature to the file system log)
Because they almost always have different types of access patterns, each of these file types could be stored in a different file system with tuning options. Other databases have similar types of files that need to be taken into consideration in similar ways.
Most databases recommend multiple control files to ensure reliability. The control files are not written or read that often, but you need to make sure that the files are located on different RAID sets and preferably on different RAID controllers.
This is often the largest amount of data in the database. The table space can be accessed with larger I/O requests when reading large tables on columns. Depending on the sizes and frequency of the updates, the table space can often be placed on larger RAID-5 with striping to achieve improved performance and density over RAID-1.
In many databases, index files are the most often accessed data. Searching index files can be very IOPS (Input/Output operations per second) intensive. In addition, sometimes databases are re-indexed, which is computationally intensive and also requires significant I/O bandwidth. The index space can be very large depending on the database and the types of searches required — in general, the index file sizes are 2 GB based on the history of UNIX file sizes.
The redo log files are filled with records that allow you to back out from changes made to your database. These are called redo records. The redo records are used in a circular buffer. As the redo logs are often small I/Os, RAID-1 is a good choice. As two or more redo logs are required, it is often a good idea to place the log files on different RAID-1 volumes.