On Mon, Feb 14, 2011 at 8:42 PM, Jim Wilcoxson <pri...@gmail.com> wrote:

> On Mon, Feb 14, 2011 at 10:56 AM, Pavel Ivanov <paiva...@gmail.com> wrote:
> >> So my question is, does it maintain the other 3 parts of ACID, so that
> >> the database will never be in a corrupted state after a power loss,
> >> even though it may be missing some writes that were confirmed?
> >
> > Jim, I think the answer to your question is already in Max's tests:
> > the USB drive is completely unreliable and can easily lead to database
> > corruption. I'll explain. Max's tests showed that there were
> > situations when database and journal were different not by one
> > transaction but by several ones. So if one makes changes to several
> > database pages (located in different disk sectors) and/or makes
> > transactions touching several database pages (which makes multi-page
> > journal files) then these pages can be way out of sync with each other
> > (including pages inside journal). And this will easily lead to
> > database corruption.
>
> You are right I think.  I wrote my own test program and ran it on a
> Macbook Pro with a Seagate USB drive.  Here is the Python test
> program:
>
> [jim@mb backup]$ time py t.py
> 4999 records inserted in 17.7488458157 seconds; 281.652117097 recs/sec
>
>

Jim, your tests also shows (this time on a different os) that either you
have a fantastic hd with 18000 Rpm or just someone at Seagate _want_ you to
think you have a fantastic hd :)

Just wondering, I know this maybe sounds fantastic, but I'm thinking whether
some "acid-passed harddrives" at sqlite.org can encourage manufacturers to
hold the horses. The logic would be like this: if some model is present in
either section then googling it will make this page very high in the google
results  (due to high pagerank of sqlite.org). So they probably very quickly
notice that this page at least partly can affect their sales. Unfortunately
the technical side is more complex, the developers just can't rely on
e-mails from users, this should be some sqlite-originated tests performing
on a known configuration and it'd better be an oss os with known tuning.
Maybe some other, less fantastic form of such tests could be possible...

Max
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to