Regarding Oracle:
 
 It also batches commits... This means that if two or more users submit commits 
concurrently (or near the same interupt ) then those will be serviced at the 
same time. 
 
 But oracle differs significantly from sqlite, in its architecture as it would 
not be appropriate for an embedded DB.. 

Christian Smith <[EMAIL PROTECTED]> wrote: [EMAIL PROTECTED] uttered:

>
> It takes at least two complete rotations of the disk platter
> to do an atomic and durable commit.  On a 7200 RPM disk, that
> means 60 transactions per second is your speed of light.
>
> Your question boils down to this:  Can you speed up transactions
> by dropping the durable property - the D in ACID.  Yes you
> can.  Actually, most client/server database engines already
> do this for you without telling you. Very few client/server
> databases are really ACID - they are usually on ACI when
> confronted with a power failure.


Are you sure about this? I'm pretty sure PostgreSQL is ACID by default, 
and as certain as I can be without proof that the commercial (Oracle etc.) 
are as ACID as the hardware they run on.

They achieve this by not requiring seeks to overwrite data, as the write 
ahead log is sequential and so can be written at the sequential IO rate of 
the underlying device in the best case.

The client/server databases are also not limited by the filesystem 
synchronous metadata updates, and so are more likely to achieve the peak 
IO rate of the underlying device.

>
> [snip]
>
> A second approach would be to overload the OS drivers on
> the backend of SQLite to support asynchronous I/O.  Mozilla
> does this in Firefox in order to boost performance on NFS.
> There is well-commented sample code showing how to do this
> in the SQLite source file "test_async.c".  That sample code
> does not combine multiple transactions, but you could probably
> tweak it to make that happen.


When doing some performance testing between different FS on Linux, I found 
that Ext3 with "data=journal" option was about 50% faster than the next 
fastest options (XFS and ext3 with "data=writeback"). Again, this is 
because synchronous meta-data, as well as normal synchronous file data, 
can be written sequentially in the FS journal at peak IO speed. If I can 
find the figures, I'll post them. However, I mislaid the test results and 
haven't got a suitable machine to reproduce at the moment.


> --
> D. Richard Hipp  
>

Christian

PS. If people are after maximum performance, I can recommend ext3 with
     "data=journal" option for SQLite. The performance is stunning!

PPS. Merry Christmas to those so inclined.

--
     /"\
     \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
      X                           - AGAINST MS ATTACHMENTS
     / \

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------


Reply via email to