Messages in this thread | | | Date | Sat, 23 Jan 1999 18:00:14 +0100 | From | Alessandro Suardi <> | Subject | Re: Should raw I/O be added to the kernel? |
| |
Jason Froebe wrote: > > Hi, > > "Stephen C. Tweedie" wrote: > > > Interesting to hear you say this, since that is _precisely_ what you get > > if you are running a large DB like Oracle or Informix on raw devices. > > All raw devices are _necessarily_ synchronous, and yet these devices are > > suggested as a means of improving performance. > > NO! Not to improve performance but to improve recoverability of databases. > One will get 2 - 3 times better performance on a filesystem but we can't > guarantee that the write has been completed. >
#include <std_disclaimer.h>
Being log-based Oracle is happy enough to have its redo logs on raw devices, the database files can stay on filesystem. However, the combo of Oracle's buffer cache management on raw device usually gives a better performance than filesystem buffering because the LRU management of the database's own buffer cache isn't impartial. Knowing that certain data blocks are coming from a full table scan implies that these blocks do not go on the MRU end of the LRU list. Writing is of course another matter, but you'll probably find that databases are written less often than they're read :)
Also, very large volumes of data simply shouldn't be cached. When your EMC box deals with the monthly rollup of 20GB of tables, it is clear that the usually lovely 4GB RAID cache is something you would want to bypass.
Tuning depends :)
--alessandro <asuardi@uninetcom.it> <asuardi@it.oracle.com>
Linux 2.0.36/2.2.0-final glibc-2.0.7-29 gcc-2.8.1 binutils-2.9.1.0.19a
"I hate bugs which disappear just as soon as you start trying to narrow things down." -- Stephen Tweedie
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |