[ZODB-Dev] Re: What makes the ZODB slow?

2006-07-03 Thread whit
Roché Compaan wrote: On Sun, 2006-07-02 at 17:46 +0100, Chris Withers wrote: Yes, indexing seems to be the big problem here... I wonder if there's a way to move indexing out of "the zodb". The main things I get from ZODB are simplicity of data storage (ie: just playing with python objects) and

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-07-03 Thread Roché Compaan
On Sun, 2006-07-02 at 17:46 +0100, Chris Withers wrote: > Yes, indexing seems to be the big problem here... > I wonder if there's a way to move indexing out of "the zodb". > The main things I get from ZODB are simplicity of data storage (ie: just > playing with python objects) and robustness of da

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-07-03 Thread dieter
Chris Withers wrote at 2006-7-2 17:46 +0100: > ... >Yes, indexing seems to be the big problem here... >I wonder if there's a way to move indexing out of "the zodb". >The main things I get from ZODB are simplicity of data storage (ie: just >playing with python objects) and robustness of data. > >Fo

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-07-03 Thread Lennart Regebro
On 7/3/06, Jens Vagelpohl <[EMAIL PROTECTED]> wrote: If you have a catalog-heavy site with high activity it does make sense and is not hard to do. To really get a I/O benefit you should have that ZODB served off a different disk drive or host, and if you're on the same host served through a separ

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-07-03 Thread Jens Vagelpohl
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 3 Jul 2006, at 01:10, Lennart Regebro wrote: On 7/2/06, Chris Withers <[EMAIL PROTECTED]> wrote: I wonder if there's something to be said for having a generic object indexing service that didn't use ZODB but used its own local indexes and re

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-07-02 Thread Lennart Regebro
On 7/2/06, Chris Withers <[EMAIL PROTECTED]> wrote: I wonder if there's something to be said for having a generic object indexing service that didn't use ZODB but used its own local indexes and re-indexed as needed or if the indexes are corrupt? Last week I got the interesting idea of using a s

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-07-02 Thread Chris Withers
Dieter Maurer wrote: If for example 10 Zope objects are modified and this cause the full text indexes to be updated then this can cause more modifications than the update of hundreds of Postgres rows (as such rows cannot contain mass data -- due to the restriction

ot, was: Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-27 Thread Tino Wildenhain
Dieter Maurer wrote: ... > If for example 10 Zope objects are modified and > this cause the full text indexes to be updated > then this can cause more modifications than > the update of hundreds of Postgres rows > (as such rows cannot contain mass data -- due to the re

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-27 Thread Dieter Maurer
Chris Withers wrote at 2006-6-27 09:56 +0100: >Dieter Maurer wrote: >> "PostGres" does use looks, lots of them and for different purposes. > >Could ZODB use locks to gain a similar performance boost? Maybe, but it would be a really big change... However, as I explained in an earlier message, the

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-27 Thread Chris Withers
Dieter Maurer wrote: "PostGres" does use looks, lots of them and for different purposes. Could ZODB use locks to gain a similar performance boost? The only thing for which "Postgres" does not use locks is reading. For this is uses MVCC (which we meanwhile adapted for the ZODB to get rid of "R

[ZODB-Dev] Re: What makes the ZODB slow?

2006-06-27 Thread Chris Withers
Florent Guillaume wrote: Chris Withers wrote: Florent Guillaume wrote: I can comment, I have a big brain too: the code in the catalog uses per-connection series of keys, so no conflicts arise. Really? I thought they were per-thread... wasn't aware that each thread was tied to one connection

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Dieter Maurer
Chris Withers wrote at 2006-6-26 14:00 +0100: > ... >Ah, conflict errors, the bane of any ZODB app. Makes me wonder why other >optimistic concurrency databases (I believe PostGres is one of these?) >don't seem to exhibit the same problems... "PostGres" does use looks, lots of them and for differ

[ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chris Withers wrote: > Florent Guillaume wrote: >> >> BTrees perform best when keys' prefixes are randomly distributed. >> So if your application generates keys like 'foo001', 'foo002',... >> you'll get lots of conflicts. Same for consecutive integers

[ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Florent Guillaume
Chris Withers wrote: Florent Guillaume wrote: I can comment, I have a big brain too: the code in the catalog uses per-connection series of keys, so no conflicts arise. Really? I thought they were per-thread... wasn't aware that each thread was tied to one connection indefinitely... I thought

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Chris Withers
Florent Guillaume wrote: I can comment, I have a big brain too: the code in the catalog uses per-connection series of keys, so no conflicts arise. Really? I thought they were per-thread... wasn't aware that each thread was tied to one connection indefinitely... I thought the connections were

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Chris Withers
Andreas Jung wrote: BTrees perform best when keys' prefixes are randomly distributed. So if your application generates keys like 'foo001', 'foo002',... you'll get lots of conflicts. Same for consecutive integers in IOBTree. Tempted to call bullshit on this, since there's code in the catalog t

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Florent Guillaume
On 26 Jun 2006, at 15:02, Chris Withers wrote: Florent Guillaume wrote: BTrees perform best when keys' prefixes are randomly distributed. So if your application generates keys like 'foo001', 'foo002',... you'll get lots of conflicts. Same for consecutive integers in IOBTree. Tempted to cal

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Andreas Jung
--On 26. Juni 2006 14:02:20 +0100 Chris Withers <[EMAIL PROTECTED]> wrote: Florent Guillaume wrote: BTrees perform best when keys' prefixes are randomly distributed. So if your application generates keys like 'foo001', 'foo002',... you'll get lots of conflicts. Same for consecutive integer

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Chris Withers
Florent Guillaume wrote: BTrees perform best when keys' prefixes are randomly distributed. So if your application generates keys like 'foo001', 'foo002',... you'll get lots of conflicts. Same for consecutive integers in IOBTree. Tempted to call bullshit on this, since there's code in the cata

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-26 Thread Chris Withers
Jean Jordaan wrote: The ZODB is actually very fast. [...] So you're probably observing slowness in the frameworks on top of it. I'll believe this anytime :-] ;-) In our case, a transaction may be a workflow state change on say 50 objects. Two or three people try a transaction like that wit

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-24 Thread Dieter Maurer
Roché Compaan wrote at 2006-6-23 19:04 +0200: > ... >In a test where one commits an instance of a Persistent >subclass that have only 2 string attributes, 300 objects per second are >created on average. Writing the exact same strings to a two column table >in an RDBMS, yields more than 3000 records

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Dieter Maurer
Jean Jordaan wrote at 2006-6-23 16:24 +0200: > ... write conflicts by large transactions ... >To mitigate this, we want to create a savepoint and then commit more often >while iterating and changing workflow, rolling back to the savepoint if >necessary. I fear this will not work -- at least not wh

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Florent Guillaume
On 23 Jun 2006, at 17:55, Andreas Jung wrote: --On 23. Juni 2006 17:51:35 +0200 Florent Guillaume <[EMAIL PROTECTED]> wrote: BTrees perform best when keys' prefixes are randomly distributed. So if your application generates keys like 'foo001', 'foo002',... you'll get lots of conflicts. Same

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Roché Compaan
On Fri, 2006-06-23 at 15:11 +0200, Florent Guillaume wrote: > > I often daydream of a ZODB that will one day have such great performance > > that it won't be necessary to adopt a hybrid backend. I know there is a > > huge difference between objects and records in an RDBMS, but in an > > attempt to

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Andreas Jung
--On 23. Juni 2006 17:51:35 +0200 Florent Guillaume <[EMAIL PROTECTED]> wrote: BTrees perform best when keys' prefixes are randomly distributed. So if your application generates keys like 'foo001', 'foo002',... you'll get lots of conflicts. Same for consecutive integers in IOBTree. hm..

[ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Florent Guillaume
Jean Jordaan wrote: The ZODB is actually very fast. [...] So you're probably observing slowness in the frameworks on top of it. I'll believe this anytime :-] In our case, a transaction may be a workflow state change on say 50 objects. Two or three people try a transaction like that within a c

Re: [ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Jean Jordaan
> The ZODB is actually very fast. [...] > > So you're probably observing slowness in the frameworks on top of it. I'll believe this anytime :-] In our case, a transaction may be a workflow state change on say 50 objects. Two or three people try a transaction like that within a couple of seconds

[ZODB-Dev] Re: What makes the ZODB slow?

2006-06-23 Thread Florent Guillaume
Roché Compaan wrote: I love the ZODB, and I am sure that I don't have to explain why, to anybody on this list. I love it so much that it often clouds my judgement. Sometimes I really should be using a relational backend but I don't - the ZODB is just too convenient, and I don't have to complicate