We often got the question: Should I create SAP MaxDB volumes on raw devices or files?
A raw device is a hard disk or part of a hard disk that is not managed by the operating system. On Unix or Linux, you can configure raw device volumes for databases.
SAP recommends raw devices for data volumes and log volumes on Unix. The database system can usually access raw devices faster than files. In addition, the operating system can usually boot raw devices faster, because it does not have to check the consistency of the file system.
The speed, with which the database system can read data from the volumes and can write data to the volumes, greatly influences the performance of the database. To achieve good performance when the database is operating later (DIRECT IO), see SAP note 993848 for information about creating and configuring volumes of file type. back to top
Optimal Size of Data Volumes
With SAP MaxDB the data is distributed evenly to all available data volumes. Volumes can be added to the productive system and the data distribution will include the new volume over time.
It is not only the size of a data volume that is important for system performance, but also the number of volumes. The number of volumes determines the scaling of the I/O. Depending on the number of configured volumes, SAP MaxDB configures threads (number of threads for each volume is configured using database parameter _IOPROCS_PER_DEV), which are responsible for the I/O.
We recommend the following values for database parameter _IOPROCS_PER_DEV: 2 (Unix), 1 (Microsoft Windows) Therefore, subsequent I/O operations to a volume are distributed to several threads.
You should increase the number of I/O threads for each volume if the database has been configured with a small number of data volumes, but the I/O system allows more parallel I/O.
However, it is advantageous to use an appropriately large amount of data volumes, because the data writer and user tasks must then check less frequently if an I/O queue is already busy. Too many data volumes increase the number of threads, and can approach the limits of the operating system resources in this way.
We recommend the following calculation formula (example):