<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: ZODB vs. pysqlite with SQLObject</title>
	<atom:link href="http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/</link>
	<description>Kevin Dangoor on Software Development</description>
	<pubDate>Fri, 21 Nov 2008 13:27:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Blue Sky On Mars &#187; MichiPUG this week: ZODB</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-208991</link>
		<dc:creator>Blue Sky On Mars &#187; MichiPUG this week: ZODB</dc:creator>
		<pubDate>Mon, 30 Jun 2008 11:58:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-208991</guid>
		<description>[...] meeting, where I led us in a random experiment with Google App Engine, I actually have some experience with the [...]</description>
		<content:encoded><![CDATA[<p>[...] meeting, where I led us in a random experiment with Google App Engine, I actually have some experience with the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sridhar Ratna</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-3398</link>
		<dc:creator>Sridhar Ratna</dc:creator>
		<pubDate>Fri, 07 Oct 2005 20:05:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-3398</guid>
		<description>Atop is dead. Long live Axiom - http://www.divmod.org/projects/axiom</description>
		<content:encoded><![CDATA[<p>Atop is dead. Long live Axiom - <a href="http://www.divmod.org/projects/axiom" rel="nofollow">http://www.divmod.org/projects/axiom</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2359</link>
		<dc:creator>Marco</dc:creator>
		<pubDate>Fri, 05 Aug 2005 16:39:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2359</guid>
		<description>probably you should also have a look at Atop

"""
ATOP, the Atomic Transactional Object Persistor, is a Python object database implemented atop the Berkeley DB and bsddb python module, with functional similarities to other python packages such as ZODB and COG.
"""
from the Atop project site - http://www.divmod.org/projects/atop</description>
		<content:encoded><![CDATA[<p>probably you should also have a look at Atop</p>
<p>&#8220;&#8221;"<br />
ATOP, the Atomic Transactional Object Persistor, is a Python object database implemented atop the Berkeley DB and bsddb python module, with functional similarities to other python packages such as ZODB and COG.<br />
&#8220;&#8221;"<br />
from the Atop project site - <a href="http://www.divmod.org/projects/atop" rel="nofollow">http://www.divmod.org/projects/atop</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Binger</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2255</link>
		<dc:creator>David Binger</dc:creator>
		<pubDate>Wed, 06 Jul 2005 14:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2255</guid>
		<description>Re: ComputedAttributes and _v_ attributes.
Unlinke _v_ attributes in ZODB, ComputedAttributes provide a mechanism
for invalidating data in other connections to the database.  This makes it
possible to maintain consistency of information derived from other persistent
instances.  

The ComputedAttribute class in Durus is simple and doesn't rely on any feature of Durus that is not also present in ZODB.  You could do the same thing in a ZODB application</description>
		<content:encoded><![CDATA[<p>Re: ComputedAttributes and _v_ attributes.<br />
Unlinke _v_ attributes in ZODB, ComputedAttributes provide a mechanism<br />
for invalidating data in other connections to the database.  This makes it<br />
possible to maintain consistency of information derived from other persistent<br />
instances.  </p>
<p>The ComputedAttribute class in Durus is simple and doesn&#8217;t rely on any feature of Durus that is not also present in ZODB.  You could do the same thing in a ZODB application</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tazzzzz</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2248</link>
		<dc:creator>tazzzzz</dc:creator>
		<pubDate>Sun, 03 Jul 2005 19:17:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2248</guid>
		<description>Probably the only reason to choose Gadfly over sqlite is if you want to distribute one set of .py files, instead of having platform-specific binaries.

While working with the ZODB, I did take a look at AdvancedQuery. Nice stuff, and you're probably right that it would work outside of Zope with a little work. I didn't mention it in the main article, because ZCatalog is enough to get you querying...</description>
		<content:encoded><![CDATA[<p>Probably the only reason to choose Gadfly over sqlite is if you want to distribute one set of .py files, instead of having platform-specific binaries.</p>
<p>While working with the ZODB, I did take a look at AdvancedQuery. Nice stuff, and you&#8217;re probably right that it would work outside of Zope with a little work. I didn&#8217;t mention it in the main article, because ZCatalog is enough to get you querying&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: azazel</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2246</link>
		<dc:creator>azazel</dc:creator>
		<pubDate>Sun, 03 Jul 2005 14:38:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2246</guid>
		<description>another useful tool to do advanced querying on catalogs is Dieter Maurer's AdvancedQuery,   http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html

Probably it can adapted to run without zope  with a minor effort</description>
		<content:encoded><![CDATA[<p>another useful tool to do advanced querying on catalogs is Dieter Maurer&#8217;s AdvancedQuery,   <a href="http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html" rel="nofollow">http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html</a></p>
<p>Probably it can adapted to run without zope  with a minor effort</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Enrique</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2243</link>
		<dc:creator>Enrique</dc:creator>
		<pubDate>Sat, 02 Jul 2005 15:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2243</guid>
		<description>Anyone read about Gadfly?. A simple, in memory SQL python database. Not really a "proffesional" database, but good enough for "light-weight" desktop projects (much better than using access for example), and have not problems to store small images or files through Python pickle. I have used it in tens of projects with zero problems to recover from power failures up to date.</description>
		<content:encoded><![CDATA[<p>Anyone read about Gadfly?. A simple, in memory SQL python database. Not really a &#8220;proffesional&#8221; database, but good enough for &#8220;light-weight&#8221; desktop projects (much better than using access for example), and have not problems to store small images or files through Python pickle. I have used it in tens of projects with zero problems to recover from power failures up to date.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mario Ruggier</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2240</link>
		<dc:creator>Mario Ruggier</dc:creator>
		<pubDate>Fri, 01 Jul 2005 07:09:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2240</guid>
		<description>Given that Durus has already been mentioned above, i'd like to further add a few comments regarding (a) Durus itself, (b) one of the things you said in the article concerning sqlite: "The downside is that you’re still doing mapping so you can’t completely forget about the fact that there’s a relational database back there.", and (c) regarding the lack, on the other hand, of out of the box "querying ability" of ZODB). 

To facilitate using Durus, I have made a small light layer, moellus, that adds precisely some very useful "relational-like" characteristics to the database's organization... this way, I can help benefit from these (having, for example, some querying abilities out of the box), but still have a perfectly fine object graph with all of my objects. The Durus feature mentioned above, ComputedAttribute, is also used heavily to automate things such as the inverse of a many-to-one relationship, that can therefore be available simply by declaration. 

However, there is object-relational mapper in sight, as there is none! A pure object graph, with some model and organizational impositions... 

I have actually released a first version recently, that can be found at:
http://scoopics.com/software/moellus/

And, there is now also a presentation, just hot off the europython2005 press: 
http://www.python-in-business.org/ep2005/talk.chtml?talk=2092&#38;track=692</description>
		<content:encoded><![CDATA[<p>Given that Durus has already been mentioned above, i&#8217;d like to further add a few comments regarding (a) Durus itself, (b) one of the things you said in the article concerning sqlite: &#8220;The downside is that you’re still doing mapping so you can’t completely forget about the fact that there’s a relational database back there.&#8221;, and (c) regarding the lack, on the other hand, of out of the box &#8220;querying ability&#8221; of ZODB). </p>
<p>To facilitate using Durus, I have made a small light layer, moellus, that adds precisely some very useful &#8220;relational-like&#8221; characteristics to the database&#8217;s organization&#8230; this way, I can help benefit from these (having, for example, some querying abilities out of the box), but still have a perfectly fine object graph with all of my objects. The Durus feature mentioned above, ComputedAttribute, is also used heavily to automate things such as the inverse of a many-to-one relationship, that can therefore be available simply by declaration. </p>
<p>However, there is object-relational mapper in sight, as there is none! A pure object graph, with some model and organizational impositions&#8230; </p>
<p>I have actually released a first version recently, that can be found at:<br />
<a href="http://scoopics.com/software/moellus/" rel="nofollow">http://scoopics.com/software/moellus/</a></p>
<p>And, there is now also a presentation, just hot off the europython2005 press:<br />
<a href="http://www.python-in-business.org/ep2005/talk.chtml?talk=2092&amp;track=692" rel="nofollow">http://www.python-in-business.org/ep2005/talk.chtml?talk=2092&amp;track=692</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tazzzzz</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2232</link>
		<dc:creator>tazzzzz</dc:creator>
		<pubDate>Fri, 01 Jul 2005 01:09:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2232</guid>
		<description>That is true, and a good point. But, you do have to carefully consider how you do things. Here's the sqlite page about locking:

http://www.sqlite.org/lockingv3.html

Section 7 (all the way at the end) tells the most relevant part of the locking story.

pysqlite2's handling of transactions is done well, because it doesn't start a transaction until you run a statement that does some kind of database modification. That avoids getting a SHARED lock too early.

Thanks for bringing up the point of exactly how sqlite handles locks. It is very relevant for anyone considering it.</description>
		<content:encoded><![CDATA[<p>That is true, and a good point. But, you do have to carefully consider how you do things. Here&#8217;s the sqlite page about locking:</p>
<p><a href="http://www.sqlite.org/lockingv3.html" rel="nofollow">http://www.sqlite.org/lockingv3.html</a></p>
<p>Section 7 (all the way at the end) tells the most relevant part of the locking story.</p>
<p>pysqlite2&#8217;s handling of transactions is done well, because it doesn&#8217;t start a transaction until you run a statement that does some kind of database modification. That avoids getting a SHARED lock too early.</p>
<p>Thanks for bringing up the point of exactly how sqlite handles locks. It is very relevant for anyone considering it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Piet Delport</title>
		<link>http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2231</link>
		<dc:creator>Piet Delport</dc:creator>
		<pubDate>Thu, 30 Jun 2005 21:50:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.blueskyonmars.com/2005/06/18/zodb-vs-pysqlite-with-sqlobject/#comment-2231</guid>
		<description>Note that since version 3, SQLite no longer needs an exclusive lock for the entire duration of a write operation (instead, it's only needed briefly, during the final stage of the commit).  In other words, you *can* still read from the database without blocking, while a lengthy write operation is going in the background.</description>
		<content:encoded><![CDATA[<p>Note that since version 3, SQLite no longer needs an exclusive lock for the entire duration of a write operation (instead, it&#8217;s only needed briefly, during the final stage of the commit).  In other words, you *can* still read from the database without blocking, while a lengthy write operation is going in the background.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.367 seconds -->
