Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder5.xlned.com!news2.euro.net!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'exit': 0.07; 'mysql,': 0.07; 'postgresql': 0.07; 'problem:': 0.07; 'blocked': 0.09; 'once;': 0.09; 'cases': 0.15; 'commit': 0.15; 'sat,': 0.15; '"file': 0.16; '(mysql': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'happily': 0.16; 'invisible': 0.16; 'readers,': 0.16; 'sqlite3': 0.16; 'version;': 0.16; 'writer': 0.16; 'wrote:': 0.17; 'instance': 0.17; 'feb': 0.19; 'fairly': 0.21; '(you': 0.23; 'allows': 0.25; 'header:In-Reply- To:1': 0.25; 'am,': 0.27; 'primarily': 0.27; 'message- id:@mail.gmail.com': 0.27; 'contrast,': 0.29; 'locking': 0.29; 'occasional': 0.29; 'overhead': 0.29; 'read,': 0.29; '(and': 0.32; 'system,': 0.32; 'to:addr:python-list': 0.33; 'version': 0.34; 'received:google.com': 0.34; 'open': 0.35; 'received:209.85.220': 0.35; 'subject:?': 0.35; 'received:209.85': 0.35; 'there': 0.35; 'but': 0.36; 'anything': 0.36; 'uses': 0.37; 'received:209': 0.37; 'subject:: ': 0.38; 'instead': 0.39; 'to:addr:python.org': 0.39; 'where': 0.40; 'most': 0.61; 'first': 0.61; 'more': 0.63; 'readers': 0.65; '2013': 0.84; 'subject:over': 0.84; 'dennis': 0.91; 'you).': 0.95 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=QJuaAmFCjtcNBtDvzLFeUMM35uA+h4m0x2iNvIaVXV8=; b=i/7fVs7L9rZa4jXG+ppGb0oAe8CWYn98nwGZuo+SEl9xhbusEG3tI4/pST0aEIpEbH 0EgC/c89brq0NO3Qll/StNLeOBbThXGI5EWO6NnFFHo6Pa4RLgbzgbYx++D4j128kCFJ j4zansZJY9gWQox7DTUwySGoqbfcOnJBHLrkCvETpKb1p4EouS5rDifAK7sVNolKpIDb ujdCl4r3Tk5+QhytaB/I6c/AOltBVAereCb+HduXL166wahVdmGp5TUiwngxCI0xuYlq O72mMrDRmTs27jpSubaNH6u0YMbeVOQtSsAXvmvQbIlVm5aJubGsdcOdL8zQ96s6ZO4x dnTQ== MIME-Version: 1.0 X-Received: by 10.52.88.197 with SMTP id bi5mr4604937vdb.58.1361579531069; Fri, 22 Feb 2013 16:32:11 -0800 (PST) In-Reply-To: <3f2gi8ph0sjsja9ongh2df5og7qd1uhqv0@invalid.netcom.com> References: <20130222164513.9377097f0cf2add2a6d16204@gmx.net> <3f2gi8ph0sjsja9ongh2df5og7qd1uhqv0@invalid.netcom.com> Date: Sat, 23 Feb 2013 11:32:11 +1100 Subject: Re: PyQT app accessible over network? From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 22 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1361579533 news.xs4all.nl 6846 [2001:888:2000:d::a6]:46600 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:39636 On Sat, Feb 23, 2013 at 11:20 AM, Dennis Lee Bieber 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