Messages in this thread | | | From | (Matthias Urlichs) | Subject | Re: PATCH: Raw device IO for 2.1.131 | Date | 16 Dec 1998 23:40:35 +0100 |
| |
Matthew Brown <mbrown@smartpages.com> writes: > Harald Milz writes: > > But there _is_ another technical issue nobody mentioned so far in this > > thread. Using e.g. Oracle on raw devices saves you from doing a fsck in a > > high availability failover situation, > > Well, you could still use a partition like /dev/sda1 for a database -- > the only issue is that this goes through the buffer cache instead of > reading or writing directly to the disk. > Wrong. Since the buffer cache makes no guarantee at all about which order your data is written, and since you cannot do a partial fsync(), there is no integrity guarantee to be had here. (Syncing the whole thing at the end of every transaction is obviously out of the question.)
You could probably open a log file with O_SYNC and trace all changes there, but you'd still need some kind of checkpointing.
All of this, IMHO, just shows that databases are ugly. I mean, look at the difference between Oracle and mysql. Oracle is everything including the kitchen sink while mysql doesn't even have transactions (just atomic updates). A new connection to this here Oracle server takes about a second. A complete connect/select-something-simple/disconnect to a mysql server on the same machine takes 1/100th of a second. Oracle costs ten times as much as mysql (assuming you need to pay for mysql at all, which is not always true, and besides it's Open Source).
Granted that Oracle has tons of features mysql doesn't have, but that doesn't exactly justify it being 100 times slower...
-- Matthias Urlichs | noris network GmbH | smurf@noris.de | ICQ: 20193661 The quote was selected randomly. Really. | http://www.noris.de/~smurf/ -- My neighbor has a circular driveway. He can't get out. -- Steve Wright
- 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/
| |