In NAS, I/O requests are made to the file system, which in turn issues the specific block requests and reads or writes to the storage volume. With object-based access, data that is stored via unique address identifiers is read and written to actual storage as blocks of data. Block-level access more closely aligns to the logical and physical data layout of the underlying storage subsystem.
In a SAN environment, a client could make a request to a database server that in turn would retrieve the specific blocks of data on behalf of the client. One of the challenges of block storage, however, is that it requires a level of serialization to maintain data consistency and coherency particularly for concurrent access. This is where file systems and NAS-based file access comes into play to serve as the serialization software for access to the block data.
In the past it was not recommended to put certain applications like database on NAS due to performance and integrity of the storage interfaces (network link). This has changed and now with proper configuration and design, databases are supported using NAS-based storage as are applications like Microsoft Exchange. For many applications, file-based access using NAS is just fine, but applications with serialized access to storage performance can be enhanced by not having to go through a NAS layer. After all, eventually NAS will perform a block I/O.
Read Randy Kerns' answer to this question.
Dig Deeper on SAN technology and arrays
Related Q&A from Greg Schulz
When cloud durability is added to the mix, cloud providers are able to tout a high number of nines of availability. Continue Reading
Cloud storage can be less expensive from a cost-per-gigabyte perspective, but it's important not to lose sight of other benefits as a value ... Continue Reading
Using solid-state in the cloud can boost performance, but first be sure you look past cost per gigabyte and are aware of any constraints from ... Continue Reading