Would you describe raw partitions, especially how and why they're used in
database production environments?
Raw partitioning describes a method of utilizing your I/O subsystem without using Unix file systems.
Instead of having the OS do the work, the database is providing the I/O for its application. Filesystems do not have to be setup, as all partitioning as well as disk tuning is done through the DBMS.
There are pros and cons to using raw partitions as opposed to filesystems. There is no 'correct' way of setting up your system. You will generally receive better performance for your OLTP database if you use raw devices.
Transactions result in random I/O and using raw devices help random I/O processing horsepower. It also reduces the memory and CPU overhead that you have with fileysystems. If you are using journaled filesystems, which are the norm today, logging impacts performance as well.
Raw devices also provide the DBA with more flexibility in sizing and manipulating the database. Of course, you need to have a good DBA and the right staffing to really take advantage of this kind of environment.
If you have a small database and a small staff made up of a Unix person alone, it might be wise to stay in a filesystem environment, as the Unix administrator is more familiar with what needs to be done with filesystems.
There is definitely more flexibility using filesystems. You cannot move files or directories around in a raw partitioned environment. All things being equal, assuming your Database can function with either filesystems or raw devices, you will need to weigh what is more important in your environment; ease of administration and the flexibility that comes with filesystems (I.E., increaseing disk space) vs. raw performance.
There are also backup issues to consider here, as you can generally only use the 'dd' command to backup raw devices.
I can personally attest to the performance gains in a raw partitioned environment, though I did not always like to have to defer to the DBA's for all the I/O and backup issues.
Bottom line, though it is always important to have a great team in place, it must be the case if you decide to go with raw partitions.
This was first published in August 2001