When researching storage options it's sometimes difficult to know who to believe. Every hardware manufacturer claims to have the best technology for your particular application. More often than not, the claims have more to do with what they "have on the truck" than what is right for your data.
SAN (storage area networks) and NAS (network attached storage) are frequently touted as competitive technologies, when in fact they are quite complementary. Before you can make informed decisions about SAN vs. NAS, you have to understand your data and the applications that need to access it.
Data access can be broken down into two separate classes; block level and file level.
Block Level Access
Databases are probably the largest example of block level data access in the data center today. When an application on the network requests information, the request is handled by a server and the correct chunks of data are returned to the client. Only the server knows where the data comes from or where it's located within our storage subsystem. Because the server has to manipulate the data prior to sending it out to the client we want it to be "as close" to the server as possible. In this instance "close" has more to do with direct control rather than distance.
File Level Access
File level data access is frequently used in "workgroup" environments. A good example of this type of access would be a word processing, or spreadsheet application. With this type of access there is no server involved, just direct manipulation by the client of an entire file. Data access that follows this type of pattern cares very little where the storage is as long as the client has control over the file. In this type of environment we often want to be able to access these files from multiple locations, or "share" our files.
Once we understand the basic differences between access types it's very easy to pick the technology that best supports it. Block level data has traditionally been a DAS (direct attached storage) customer. Moving this type of data to a SAN allows it to appear to be direct attached from the server's perspective while giving the administrator a greater level of manageability than he/she has ever had in the DAS world. File level data is a prime customer for NAS type access. Data sharing is inherent to the technology and the data is close to the client while still allowing for enterprise backups and management. We often don't associate NAS storage with UNIX, but it would be only fair to mention that Sun Microsystems actually invented NAS when they pioneered NFS. By running NAS applications on your SAN attached server you can offer the best of both worlds to your clients without having to learn to manage a new piece of equipment in your data center.
There are NAS vendors who will tell you that their appliances can outperform SAN or DAS in a database environment because of their "caching algorithms". Don't believe them. Caching relies on predictable data access; i.e. sequential reads. If your database is doing a lot of sequential reads, your database administrator is probably being paid more then he/she is worth.
When properly architected, SAN and NAS technologies can be combined to help you spend your storage dollar to its maximum value. The next time a storage vendor comes knocking on your door - ask him/her "how does your product fit the way I use my data?"
About the author: Doug Otto has been working with Unix systems for over 10 years. During that time, he's held a myriad of positions, from Systems Administrator to Director of IT. He is currently Vice President of Systems Engineering for GovStor (www.govstor.com).