Veritas File System 4.1 Administrator's Guide (HP-UX 11i v3, February 2007)
Quick I/O for Databases
Quick I/O Functionality and Performance
Chapter 11 145
Quick I/O Functionality and Performance
Many database administrators (DBAs) create databases on file systems because it makes common
administrative tasks (such as moving, copying, and backup) much simpler. However, putting databases on
file systems significantly reduces database performance. By using VERITAS Quick I/O, you can retain the
advantages of having databases on file systems without performance degradation.
Quick I/O uses a special naming convention to allow database applications to access regular files as raw
character devices. This provides higher database performance in the following ways:
• Supporting kernel asynchronous I/O
• Supporting direct I/O
• Avoiding kernel write locks
• Avoiding double buffering
Supporting Kernel Asynchronous I/O
Some operating systems provide kernel support for asynchronous I/O on raw devices, but not on regular
files. As a result, even if the database server is capable of using asynchronous I/O, it cannot issue
asynchronous I/O requests when the database is built on a file system. Lack of asynchronous I/O
significantly degrades performance. Quick I/O lets the database server take advantage of kernel supported
asynchronous I/O (through the asyncdsk or Posix AIO interface) on file system files accessed via the Quick
I/O interface by providing a character device node that is treated by the OS as a raw device.
Supporting Direct I/O
I/O on files using the read() and write() system calls typically results in data being copied twice: once
between user and kernel space, and later between kernel space and disk. In contrast, I/O on raw devices is
direct. That is, data is copied directly between user space and disk, saving one level of copying. As with I/O
on raw devices, Quick I/O avoids the extra copying.