Raw vs. Filesystem?

Maybe this is the wrong forum to start this debate and I apologize if it is, but I have been wondering for some time which is better to use for a database, raw or filesystem? By better I mean don't just mean better performance but also ease of maintenance, etc.

I know that several years ago it was a no-brainer and everyone said that it was much more effecient to let the database handle the I/O. But lately I have heard that filesystems are so effecient these days that it really doesn't matter.

Does anyone out there have any comments about the pros/cons of using raw or filesystem?

Every database vendor will tell you that raw is far better. Performance in databases has been optimized for the raw i/o model. But the other issue is data integrity. The database needs to know exacyly when the data has been physically written to disk. With the async i/o capabilities of today's kerne; this is possible via the filesystem, but I have never seen any database vendor that claims data integrity when used via filesystem i/o.

The only time I can see using databases in the filesystem is during a training class where 100 students needs their own database to fiddle with. Or maybe for experimentation. Or maybe to give each developer his own database. But never for data that you care about.

May I ask where you have heard that it no longer matters?

Several DBA's I have worked with in the past have made the claim that filesystems are better because of ease of maintenance. But when I bring up the point of performance, the answer has always been that the difference today is so minimal that ease of administration is more important.

I'm guessing that perhaps I've worked with some lazy DBA's that would rather have me manage their data than to do it themselves.

Maintenance is easier, but at what cost? I would ask those dba's for some documentation from the database vendor that approves of this. It could be that my info is dated, but I would need to see a cite.

We have several terrabytes of oracle and sybase databases here and no dba has ever asked for filesystem space. Which datbase did those dba's use?

Currently we are using Oracle. In the past I have supported systems with Sybase and those DBAs said the same thing.

I would be interested to know just how much performance difference there is. Perhaps someone else out there has done some benchmarking on their own database. I'd really like to know.

The next problem, once I prove how much faster it is, is trying to get a DBA to convert the database to raw. It may actually be impossible at this point given the size.

In my environment we are going from raw to mounted filesystems for ORACLE databases as we speak.

We are upgrading to 11.i and new hardware. from K-class & V-class to Superdome and Keystone systems. In addition, we are enabling largefiles that allow for larger than 2GB files. This will decrease the amount of table spaces needed for the large Databases that we will be creating, upto 10GB, and allow for more efficient storage of databases. Also, we are going to the new 170+GB disks for our EMC SAN which are more reliable than the current 80+ GB disks.

So the decrease in performance will be offset somewhat by the OS and hardware upgrades.

And the big PRO is that we can manage the filesystems with our backup utility, NetBackup, more effciently and with greater accuracy, instead of relying on my DBAs to remember to backup their databases.

:cool: