Veritas File System 5.0 Administrator's Guide (September 2006)
About Quick I/O functionality and performance
Many database administrators (DBAs) create databases on file systems because
file systems make common administrative tasks, such as moving, copying, and
backing up, much simpler. However, putting databases on file systems significantly
reduces database performance. By using 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.
Quick I/O provides higher database performance in the following ways:
■ Supporting kernel asynchronous I/O
■ Supporting direct I/O
■ Avoiding kernel write locks
■ Avoiding double buffering
About asynchronous I/O kernel support
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 allows the database server to 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.
About direct I/O support
I/O on files using 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.
About Kernel write locks avoidance
When database I/O is performed via the write() system call, each system call
acquires and releases a write lock inside the kernel. This lock prevents
simultaneous write operations on the same file. Because database systems usually
implement their own locks for managing concurrent access to files, write locks
Quick I/O for Databases
About Quick I/O functionality and performance
184