On Sun, Sep 25, 2011 at 04:12:33AM -0700, Artyom Beilis scratched on the wall:

> Basically I want to do many inserts and reads
> using the database and I want to keep ACI of ACID
> part. I mean I don't care that some of the transactions
> are get lost, but I do care that the database state
> would remain consistent in case of catastrophic fault.

  http://sqlite.org/pragma.html#pragma_synchronous

  Use WAL mode with synchronous = NORMAL

  You will still have the ability to use transactions, proper locking,
  concurrency, etc., but you will gain performance at the cost of 
  complete durability.

  If you use synchronous = OFF in traditional journal mode, you risk
  corruption.

> I understand that such option requires probably 
> an additional thread or process to do this.

  Depending on your specific needs, you might also look at the async-I/O
  module: http://www.sqlite.org/asyncvfs.html

  It has it's own set of limitations and performance concerns,
  including concurrency limits from multiple processes, but it is
  another option.

   -j

-- 
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"Intelligence is like underwear: it is important that you have it,
 but showing it to the wrong people has the tendency to make them
 feel uncomfortable." -- Angela Johnson
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to