[Twisted-Python] Twisted.Persisted ~ ZODB

Hi, Being new to both Twisted and ZODB and not finding too much info on Twisted.Persisted by googling I have decided to post this question. I have also noticed a few projects running Twisted "on top of" ZODB as it were. I get the impression that Twisted.Persisted is more of an utility add-on to Twisted whereas ZODB is a full fledged object database. Still - I would very much like to use Twisted.Persisted for trancient data/metadata in a new project I'm tackling cause it is always good to minimize dependencies and I know I can use postgreSQL with Twisted for heavy duty stuff - which I still believe a better option than OODB. How does Twisted.Persisted compare to ZODB - if such a comparison can be made? Any other OODB's to be considered for use with Twisted? I would also very much appreciate some links to on-line docs/examples regarding Twisted.Persisted if they exist. kind regards, Eugene Coetzee =============================================== Web -> www.reedflute.com ===============================================

Eugene Coetzee wrote:
Hi,
Being new to both Twisted and ZODB and not finding too much info on Twisted.Persisted by googling I have decided to post this question.
I have also noticed a few projects running Twisted "on top of" ZODB as it were.
I get the impression that Twisted.Persisted is more of an utility add-on to Twisted whereas ZODB is a full fledged object database.
That is true. Nothing in twisted.persisted is usable by itself as a persistence mechanism for a non-trivial application. AOT and Marmalade are graph serialization formats. Neither supports new-style objects very well, IIRC. Even if they do, neither is particularly quick, nor provides anything beyond simple storage of a complete object graph, hardly the only requirement for a database. dirdbm is a cute toy, but not again really useful as a non-trivial data store. It's slow and fragile, and doesn't provide any functionality beyond what the bsddb module in Python 2.3 provides. sob is a handy front-end to AOT, Marmalade, pickle, and tac files. crefutil is helper code for aot and jelly and perhaps some other serialization modules. The styles module has all the cool code. It lets you pickle otherwise unpickleable types and provides the Versioned class, which lets you deal with mixing old data with new code.
Still - I would very much like to use Twisted.Persisted for trancient data/metadata in a new project I'm tackling cause it is always good to minimize dependencies and I know I can use postgreSQL with Twisted for heavy duty stuff - which I still believe a better option than OODB.
Unless you have very little data, and you don't care _terribly_ if you lose it, twisted.persisted probably isn't going to do it for you.
How does Twisted.Persisted compare to ZODB - if such a comparison can be made? Any other OODB's to be considered for use with Twisted?
You might look at Atop. It's somewhat lighter weight than ZODB. http://www.divmod.org/ has some docs, but it needs more. It also isn't distributed separately from Quotient yet (but is easily separable once you download it).
I would also very much appreciate some links to on-line docs/examples regarding Twisted.Persisted if they exist. kind regards,
I wish I could point you at something, but I hope the above has been an adequate substitute. Jp

you might also look at http://modeling.sourceforge.net/ it is definitely different than other persistance layers in python- but if you have a background similar to mine, it will feel more comfortable to some of these other systems. good luck, kevin Jp Calderone wrote:
Eugene Coetzee wrote:
Hi,
Being new to both Twisted and ZODB and not finding too much info on Twisted.Persisted by googling I have decided to post this question.
I have also noticed a few projects running Twisted "on top of" ZODB as it were.
I get the impression that Twisted.Persisted is more of an utility add-on to Twisted whereas ZODB is a full fledged object database.
That is true. Nothing in twisted.persisted is usable by itself as a persistence mechanism for a non-trivial application.
AOT and Marmalade are graph serialization formats. Neither supports new-style objects very well, IIRC. Even if they do, neither is particularly quick, nor provides anything beyond simple storage of a complete object graph, hardly the only requirement for a database.
dirdbm is a cute toy, but not again really useful as a non-trivial data store. It's slow and fragile, and doesn't provide any functionality beyond what the bsddb module in Python 2.3 provides.
sob is a handy front-end to AOT, Marmalade, pickle, and tac files.
crefutil is helper code for aot and jelly and perhaps some other serialization modules.
The styles module has all the cool code. It lets you pickle otherwise unpickleable types and provides the Versioned class, which lets you deal with mixing old data with new code.
Still - I would very much like to use Twisted.Persisted for trancient data/metadata in a new project I'm tackling cause it is always good to minimize dependencies and I know I can use postgreSQL with Twisted for heavy duty stuff - which I still believe a better option than OODB.
Unless you have very little data, and you don't care _terribly_ if you lose it, twisted.persisted probably isn't going to do it for you.
How does Twisted.Persisted compare to ZODB - if such a comparison can be made? Any other OODB's to be considered for use with Twisted?
You might look at Atop. It's somewhat lighter weight than ZODB. http://www.divmod.org/ has some docs, but it needs more. It also isn't distributed separately from Quotient yet (but is easily separable once you download it).
I would also very much appreciate some links to on-line docs/examples regarding Twisted.Persisted if they exist. kind regards,
I wish I could point you at something, but I hope the above has been an adequate substitute.
Jp
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

On Thu, 2004-07-01 at 18:07 -0500, Kevin wrote:
you might also look at http://modeling.sourceforge.net/
it is definitely different than other persistance layers in python- but if you have a background similar to mine, it will feel more comfortable to some of these other systems.
I haven't looked at Modeling for a long time. IIRC, it manages database connections using its own pool and all interaction takes place within an EditingContext. Out of interest, how do you integrate Twisted and Modeling? Do you just defer the calls into Modeling to a thread or do you have something clever going on? Thanks, Matt
good luck, kevin
Jp Calderone wrote:
Eugene Coetzee wrote:
Hi,
Being new to both Twisted and ZODB and not finding too much info on Twisted.Persisted by googling I have decided to post this question.
I have also noticed a few projects running Twisted "on top of" ZODB as it were.
I get the impression that Twisted.Persisted is more of an utility add-on to Twisted whereas ZODB is a full fledged object database.
That is true. Nothing in twisted.persisted is usable by itself as a persistence mechanism for a non-trivial application.
AOT and Marmalade are graph serialization formats. Neither supports new-style objects very well, IIRC. Even if they do, neither is particularly quick, nor provides anything beyond simple storage of a complete object graph, hardly the only requirement for a database.
dirdbm is a cute toy, but not again really useful as a non-trivial data store. It's slow and fragile, and doesn't provide any functionality beyond what the bsddb module in Python 2.3 provides.
sob is a handy front-end to AOT, Marmalade, pickle, and tac files.
crefutil is helper code for aot and jelly and perhaps some other serialization modules.
The styles module has all the cool code. It lets you pickle otherwise unpickleable types and provides the Versioned class, which lets you deal with mixing old data with new code.
Still - I would very much like to use Twisted.Persisted for trancient data/metadata in a new project I'm tackling cause it is always good to minimize dependencies and I know I can use postgreSQL with Twisted for heavy duty stuff - which I still believe a better option than OODB.
Unless you have very little data, and you don't care _terribly_ if you lose it, twisted.persisted probably isn't going to do it for you.
How does Twisted.Persisted compare to ZODB - if such a comparison can be made? Any other OODB's to be considered for use with Twisted?
You might look at Atop. It's somewhat lighter weight than ZODB. http://www.divmod.org/ has some docs, but it needs more. It also isn't distributed separately from Quotient yet (but is easily separable once you download it).
I would also very much appreciate some links to on-line docs/examples regarding Twisted.Persisted if they exist. kind regards,
I wish I could point you at something, but I hope the above has been an adequate substitute.
Jp
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
-- __ / \__ Matt Goodall, Pollenation Internet Ltd \__/ \ w: http://www.pollenation.net __/ \__/ e: matt@pollenation.net / \__/ \ t: +44 (0)113 2252500 \__/ \__/ / \ Any views expressed are my own and do not necessarily \__/ reflect the views of my employer.

Matt, I have not integrated the two yet.... (so perhaps my other message was not appropriate for the list... but I did want to mention the modeling package as being another direction to look for object persistance.) I am interested in hearing what others have to say about modeling and twisted too. I can tell, based on the activity on modeling list, things are moving on it quicker than was before. I believe that the community around modeling is starting to grow... so it might have further usefulness/robustness in the future than it might have in the past. Thanks, Kevin Matt Goodall wrote:
On Thu, 2004-07-01 at 18:07 -0500, Kevin wrote:
you might also look at http://modeling.sourceforge.net/
it is definitely different than other persistance layers in python- but if you have a background similar to mine, it will feel more comfortable to some of these other systems.
I haven't looked at Modeling for a long time. IIRC, it manages database connections using its own pool and all interaction takes place within an EditingContext. Out of interest, how do you integrate Twisted and Modeling? Do you just defer the calls into Modeling to a thread or do you have something clever going on?
Thanks, Matt
good luck, kevin
Jp Calderone wrote:
Eugene Coetzee wrote:
Hi,
Being new to both Twisted and ZODB and not finding too much info on Twisted.Persisted by googling I have decided to post this question.
I have also noticed a few projects running Twisted "on top of" ZODB as it were.
I get the impression that Twisted.Persisted is more of an utility add-on to Twisted whereas ZODB is a full fledged object database.
That is true. Nothing in twisted.persisted is usable by itself as a persistence mechanism for a non-trivial application.
AOT and Marmalade are graph serialization formats. Neither supports new-style objects very well, IIRC. Even if they do, neither is particularly quick, nor provides anything beyond simple storage of a complete object graph, hardly the only requirement for a database.
dirdbm is a cute toy, but not again really useful as a non-trivial data store. It's slow and fragile, and doesn't provide any functionality beyond what the bsddb module in Python 2.3 provides.
sob is a handy front-end to AOT, Marmalade, pickle, and tac files.
crefutil is helper code for aot and jelly and perhaps some other serialization modules.
The styles module has all the cool code. It lets you pickle otherwise unpickleable types and provides the Versioned class, which lets you deal with mixing old data with new code.
Still - I would very much like to use Twisted.Persisted for trancient data/metadata in a new project I'm tackling cause it is always good to minimize dependencies and I know I can use postgreSQL with Twisted for heavy duty stuff - which I still believe a better option than OODB.
Unless you have very little data, and you don't care _terribly_ if you lose it, twisted.persisted probably isn't going to do it for you.
How does Twisted.Persisted compare to ZODB - if such a comparison can be made? Any other OODB's to be considered for use with Twisted?
You might look at Atop. It's somewhat lighter weight than ZODB. http://www.divmod.org/ has some docs, but it needs more. It also isn't distributed separately from Quotient yet (but is easily separable once you download it).
I would also very much appreciate some links to on-line docs/examples regarding Twisted.Persisted if they exist. kind regards,
I wish I could point you at something, but I hope the above has been an adequate substitute.
Jp
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
-- Kevin Koym Innovation kevin@praxsys.com +1.512.698.9328 cell in US
participants (5)
-
Eugene Coetzee
-
Jp Calderone
-
Kevin
-
Kevin Koym
-
Matt Goodall