This is primarily a performance question and the universal answer for performance questions is, "it depends." In general certain applications like databases do their own buffering of data and then it's important to do block I/O rather than having the file system doing caching. It will be more efficient and yield better performance and use of memory resources. Others that aren't performance critical can do file access very effectively....
This is all changing somewhat as file systems have been improved and databases have improved in their ability to do file I/O. There is an issue with the type of storage you use.
NAS devices today do only file I/O as a remote file system (in reality, the NAS controller is really turning your file system request into a block I/O for storage that it controls). Direct attached or SAN attached storage handle block I/O. When you are using NAS for file I/O, a redirector (software on your client system), transfer the file request over a LAN to the remote file server or NAS device. So, it won't work for block I/O on that path.
There has been a "rule-of-thumb" used in the past about always using block I/O for transaction processing but that needs to be reexamined in light of your requirements and the current capabilities of products. I hope this helps.
Evaluator Group, Inc.
Editor's note: Do you agree with this expert's response? If you have more to share, post it in our Storage Networking discussion forum.
Dig deeper on NAS management
Related Q&A from Randy Kerns
Learn how different scale-out architectures can be good options for providing high availability and easy growth.continue reading
Learn about NAS security and if SAN is more secure than NAS in this expert response.continue reading
Learn the definition of N_Port ID virtualization (NPIV) in this expert response by Randy Kerns.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.