Question: What are the pros and cons of ASM vs.
a plain filesystem? I want to know the cost and benefits of
each approach. In ASM vs filesystems which would you choose?
Answer: Both ASM and filesystems
have their own advantages and disadvantages and you need to
address the following requirements. Regardless
of whether you choose ASM or vanilla filesystems, you still
would want to adhere to SAME (stripe and mirror everywhere).
See my notes on
the Oracle disk architecture
- Use filesystems for databases that fit onto
one disk: With the plague of super-large
disks, intelligent file placement is important, but when
your entire database resides on a single one terabyte
disk, striping makes on sense.
- Use ASM for RAC: ASM provides
a cluster file system manager.
- Use filesystems if you have disk-level
mirroring and striping: Many disk arrays
devices take care of striping and mirroring at the
hardware level on your behalf.
- Size matters: As
a general rule, small databases (under one gig will use
filesystems, while very large databases (terabytes) will
use ASM.
- ASM trades complexity for ease of use:
It is very difficult to trace I/O issues with
ASM because the mapping of data files to disks is
scrambled as RAID 0+1).
- Use filesystems with SSD: If
you are using solid-state disk devices, it is not
necessary to stripe or mirror your data and ASM is not
needed.
In sum, only use ASM
when you have a large complex database that spans many disk
spindles and RAID striping is used.
Oracle has another
approach in the Oracle 11gr2 "ASM intelligent file
placement" feature.
In intelligent file placement
the data file is broken down into "hot" and "cold" disk
platter areas, leveraging on the fact that the outermost
sectors of a disk contain more space per revolution than the
inner "cold" sectors.
