Stephan Richter wrote:
On Thursday 24 July 2008, Shane Hathaway wrote:
P.S.: I am quite excited about the memcached support. Does it "just
work"? I.e. can I run my ZODB in RAM now? ;-)
I expect the new memcache support to be safe for everyone to use, but we
still require the main database to be connected at all times, since
memcache provides no ACID properties by itself. We unfortunately can't
do obvious things like cache the current transaction ID for an object,
since that would break MVCC. What we do cache is:
1. The current tid, given an oid and the transaction ID that is active
for the current connection.
2. The pickle given an oid and tid.
These should both help read-heavy databases, but might be detrimental
for write-heavy databases. My performance test suite, which writes a
lot, produced slightly *worse* results with memcache enabled.
We should get Brian Aker into this discussion, since is one of the main
architects of MySQL and one of the founders of memcached.
As Shane knows, I have some access to Brian these days, so we could have an
online meeting talking about it.
Well, if I can make a suggestion :)
From what I understand a new memcache client library was written for
MySQL (libmemcache is quite horrible). Python bindings for that library
would improve many things, including this :)
Wichert Akkerman<[EMAIL PROTECTED]> It is simple to make things.
http://www.wiggy.net/ It is hard to make things simple.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org