[Zope] Re: Versioned connectors from ZODB
Tres Seaver
tseaver at palladion.com
Mon Jul 11 12:30:00 EDT 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Etienne Labuschagne wrote:
> On 7/11/05, Florent Guillaume <fg at nuxeo.com> wrote:
>
>>ZODB versions are deprecated, unsupported, buggy and hard to use. Don't
>>use them.
>>
>>Florent
>
>
> And as I understand, so are temporary connections too. That leaves me
> with getting a "normal" ZODB connection from the pool which I don't
> want to do.
>
> I really need a "temporary" connection that I can discard. This
> connection can have a much smaller cache than the normal connections
> as it makes very little difference in the speed of data loading.
> Second prize is a connection that will only be used by a specific
> process and never used for other processes. Versions solves this for
> me.
>
> I can check out a connection and keep it aside only for data loading.
> But this means that I waste precious memory on a connection that does
> not really need to cache the amount of objects that the other
> connections should. In my case, this translates to using 1GB of RAM
> on one connection that gets used once a day.
>
> Please believe me that I really need a "special" connection. For
> those who really want to know why, below is an attempt at an
> explanation why:
>
> In the application that I have written, I want to be able to get
> connections that are not part of the normal connection pool. Once my
> process is finished, I can store these connections for later use, or
> discard them. Currently my application uses the normal connections in
> the pool. The problem is that this process "contaminates" the cache
> of the connections with objects that are not used in "normal" client
> application use (I use a thick client). This means that the client
> applications are extremely slow the next day and that it takes a long
> time before the cache contains the often used objects again.
>
>>From there the reason why I DON'T want to use the connections for my
> once a day data loading process.
>
> My ZODB contains about 700`000 objects. A connection caches about
> 60`000 objects to give satisfactory client speed. To start up the
> client before the cache is initialized, takes about 5 minutes. Once
> the cache is populated, it takes a client seconds to start up. Data
> loading invalidates all of this, but is worse than a "clean" cache in
> that it takes long for the "new" objects in the cache to be flushed
> and replaced by the often used objects again. Data loading does not
> need such a big cache since it mostly loads data into the ZODB.
> Unfortunately, the loaded objects also end up in the cache.
>
> Why do I need so many objects in the cache? Some searches cannot be
> done with a mere ZCatalog search and have to run through a subset of
> all the objects. These tend to fit nicely in the cache.
Your query would be better served on the zodb-dev list, where Tim Peters
hangs out; he can probably explain how to get what you want without
guessing. If I had to guess, I would suggest constructing your
connection programmatically, where you can specify the object cache size
for instance, and then closing / discarding the connection when you are
done.
Tres.
- --
===================================================================
Tres Seaver +1 202-558-7113 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFC0p6H+gerLs4ltQ4RAkxMAKCYMC7HKTddmCgog+yip3GZd/AChgCgr0k8
APQ337C2zCxBQBOYIuWFKNU=
=MVtV
-----END PGP SIGNATURE-----
More information about the Zope
mailing list