PyQT app accessible over network?

Chris Angelico rosuav at gmail.com
Sat Feb 23 01:32:11 CET 2013


On Sat, Feb 23, 2013 at 11:20 AM, Dennis Lee Bieber
<wlfraed at ix.netcom.com> wrote:
>         Problem: SQLite3 (and M$ JET/Access) are considered "file server"
> databases. Each instance of the program accessing the database is
> directly opening the database file(s). While SQLite3 has a fairly
> complex locking system, the normal locking is NOT "per record". Instead
> it allows for multiple readers to be active at once; the first
> connection/cursor to attempt to write anything will block any new
> attempts to read, and will be blocked until all other active readers
> exit (and none of those other readers can attempt to write). When there
> are no other open readers, the writer can finish and commit changes.

Also MySQL, when using the default MyISAM back-end. In contrast,
PostgreSQL uses MVCC to permit lock-free reading in most cases (you
keep reading the version you can "see", and a writer happily tinkers
with a new version; until the writer COMMITs, its version is invisible
to you). There's more overhead to the PostgreSQL system, but it scales
better with multiple writers. (MySQL is primarily designed for dynamic
web sites, where there are thousands of readers but only (relatively)
occasional writers.)

ChrisA



More information about the Python-list mailing list