Are there any technical difficulties one should be looking out for when choosing a NAS to support database applications (e.g., Oracle, MS-SQL, DB2, etc)? I heard about DBMS writing to raw devices versus NAS providing file-level I/O. Can the two co-exist on the same NAS boxes? What is out there in the market now? What hard questions should one ask of the NAS vendors on their support for RDBMS engines? Thanks.
Yes, you can use NAS for databases - not all products work, especially Microsoft's SQL Server and Exchange databases. But Oracle and many others seem to work just fine. There are several questions to ask:
- What redundancy provisions are in the NAS system for system availability? Mirroring, RAID?
- How easy is it to increase capacity of the NAS system if you run out of room? The NAS system you chose must have sufficient capacity to store the largest data file that the database will create.
- Ask about backup provisions for the database files. You will probably want this to move along as fast as possible. NDMP support is a real good idea.
- Finally ask about the process of recovering from a network failure when the database is working. How will database transactions be checked and rolled back or forward? NFSv4 has the best locking mechanisms for database support, but remember it requires an NFSv4 client as well as a NAS system. Related to all this are the possibilities that the NAS vendor has specific tools for databases - these could include special treatments for database log files and for snapshots.
About co-existence of NAS and SAN in the same storage product, this is being done today where a NAS processor accesses a volume created by a disk subsystem. Sometimes this is called a "NAS head."
I don't know of any NAS products today that have a FC or SCSI port to access some of the storage within.
This was first published in August 2001