-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

CityDev wrote:
> What that seems to be saying is you can have concurrency but you will suffer
> the effects of whole-database locking for update transactions. It seems a
> glaring shortcoming, so either SQLite is not normally used by multiple
> processes or people find it doesn't matter too much ie you still get
> acceptable performance with n users.

Did you notice the use of "embedded" several times?

The SQLite approach is to use simple locking and to hold locks for as short
periods as possible.  An alternate approach which would be more complicated
locking (pages or rows) and having considerably more code to manage
concurrency across processes of that locking.  (That code would be really
nasty as operating systems don't really provide any common primitives of
that level of granularity.  Heck they barely provide file locking.)

If you go with SQLite's flow such as not having open transactions lying
around and getting work done as quickly as possible (eg composing SQL
upfront rather than long periods thinking about what to issue next within a
transaction) then it will work *very* well.  Chances are it will
significantly outperform database "servers", as they require marshalling of
queries and responses between processes and possibly over the network -
something which will be way slower than SQLite's quick transactions.
(SQLite was originally started because of database servers being flaky and
needing administration.)

Roger


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkq8apMACgkQmOOfHg372QSH+ACguuHaLxS7CoPE/yjTXrKI/r3u
TKYAoNOcv4Gtw9BL6iHsz31DWZQKI8fs
=OMAn
-----END PGP SIGNATURE-----
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to