[Zope-dev] ZCatalog Scalability

2001-01-17 Thread Chris Withers

John Eikenberry wrote:
 
 and retrieval. But ZCatalog did not. It was basically useless for partial
 matching searches (taking many minutes for searches that retrieved more
 than 100 matches). I was also concerned about the indexing overhead. It
 doesn't scale well when changing/adding many things at a time (we might
 have bulk adds/changes).

I wonder if this will change with Zope 2.3?

cheers,

Chris

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Partial Matches

2001-01-17 Thread Chris Withers

John Eikenberry wrote:
 
 Long answer: If you check out the source and/or hit it with the profiler
 you'll see that the way the partial search works is to first do a more
 general search then to limit the hits as much as possible via regex's.
 Both these steps have to happen no matter the batch size, and this is where
 you take the performance hit.

Can you give me an exampel of a partial search expression that causes
you problems?

cheers,

Chris

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Massive scalability

2001-01-17 Thread Steve Spicklemire


Hi Andy,

   I'm not sure what you mean by 'interface/way', so.. I'm going to 
guess at two possible interpretations.

1) Basically ZPatterns allows you to define classes (DataSkins)
instances of which can optionally be used to view/create/change/delete
external data through methods of the class ( + a little SkinScript ).

If your store your instance data in SQL you can use SQL queries,
masked from the application behind some generic method (e.g.,
getFooIdsWithText( textToFind )") to find the id(s) of the instance(s)
you're after.  You can then get the instance from the ZPatterns
machinery and, once gotten, display it, change it, call it's methods,
and/or delete it. The way these actions on the object interact with
the data in the external database is all defined in 'SkinScript' which is
hidden away as a PlugIn of a Rack deep inside the ZPatterns guts. At
the Zope application level you don't really *know* where/how the data
is stored. Best of all you, or your Product's customers can easily
customize that part *after* your product is plugged into *their*
application, without changing the basic application level logic
and design of your product.

It's the coolest. ;-)

2) To get folks started with moving objects from ZODB to SQL I've
found ZFormulator handy as a tool to get folks quickly up to speed
in how SQL 'works'. 

http://www.zope.org/Members/faassen/ZFormulator

If they already have ZClasses, they can use this to 'automatically' 
generate starting point queries to match their class propertysheets.
Of course... it probably won't be normalized/optimized/etc.. but
it's better than doing it all for them! ;-)

-steve

 "Andy" == Andy McKay [EMAIL PROTECTED] writes:

Andy Does ZPatterns provide a nice interface / way for storing
Andy classes in a RDBMS? I have to say using an RDBMS is not as
Andy transparent as I would like, this may may improve
Andy it. Finally a reason for me to ZPatterns...

Andy -- Andy McKay.


Andy - Original Message - From: "John Eikenberry"
Andy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: "Michael
Andy Bernstein" [EMAIL PROTECTED] Sent: Tuesday, January 16,
Andy 2001 3:22 PM Subject: Re: [Zope-dev] Massive scalability


 Michael Bernstein wrote:
 
  So, again: Has anyone run up against any performance or 
 other limitations regarding large numbers (hundreds of 
 thousands or more) of objects stored within the ZODB either 
 in a BTree Folder or a Rack?
 
 I was looking into the same issues recently, but for a much
 smaller set of data (5ish). In my tests
 ZPatterns/binary-trees scaled well for
Andy storage
 and retrieval. But ZCatalog did not. It was basically useless
 for partial matching searches (taking many minutes for searches
 that retrieved more than 100 matches). I was also concerned
 about the indexing overhead. It doesn't scale well when
 changing/adding many things at a time (we might have bulk
 adds/changes).
 
 I ended up deciding to go with a RDBMS backend for data storage
 with a ZPatterns interface. SkinScripts work so well for this
 that I'm actually glad I switched. It simplified my design and
 implementation immensely.
 
 --
 
 John Eikenberry [[EMAIL PROTECTED] - http://zhar.net]
 __
 "A society that will trade a little liberty for a little order
 will deserve neither and lose both."  --B. Franklin
 
 ___ Zope-Dev
 maillist - [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev ** No cross
 posts or HTML encoding!  ** (Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )
 


Andy ___ Zope-Dev
Andy maillist - [EMAIL PROTECTED]
Andy http://lists.zope.org/mailman/listinfo/zope-dev ** No cross
Andy posts or HTML encoding!  ** (Related lists -
Andy http://lists.zope.org/mailman/listinfo/zope-announce
Andy http://lists.zope.org/mailman/listinfo/zope )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] [Fwd: Re: [Zope-dev] Massive scalability]

2001-01-17 Thread Michael Bernstein

Forwarded to the list to maintain the thread.

 Original Message 
From: John Eikenberry [EMAIL PROTECTED]
Subject: Re: [Zope-dev] Massive scalability
To: Michael Bernstein [EMAIL PROTECTED]

Michael Bernstein wrote:

 John Eikenberry wrote:
 
 Can you tell us a bit about how many indexes (and what
 types) you were maintaining about each object? Another
 poster reported no problems with 60,000 objects.

I was testing and had a real simple setup. In addition to
the default
indexes I had 1 index on a string type (of 10 chars or less
- last names),
2000 objects indexed. The vocabulary only had the entries
for this field in
it.

Everything was nice and fast except partial searching. It
was fast enough
when ther were small numbers of matches. But as the number
of matches grew
the time it took grew along with it, at a nearly expontial
rate.

-- 

John Eikenberry
[[EMAIL PROTECTED] - http://zhar.net]
__
"A society that will trade a little liberty for a little
order
 will deserve neither and lose both."
  --B. Franklin

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




RE: [Zope-dev] Specialists and __bobo_traverse__

2001-01-17 Thread Phillip J. Eby

At 04:41 PM 1/17/01 +0200, Roch'e Compaan wrote:


 I don't have the slightest idea what you're trying to accomplish here - I
 probably missed the beginning of this thread.  Do you want to change the
 way the specialist processes the string "dataskin1", or the way dataskin1
 processes the URL component that comes next?  Each requires a different
 approach.

I want to process the way dataskin1 processes the URL component that comes
next.  Just to make sure I communicate some sense :)


Okay, then your SkinScript *should* work, so long as your dataskins don't
already inherit a __bobo_traverse__ method.  If your DataSkin inherits from
ObjectManager or any of its derivatives, for example, then it won't work.
Of course, the bobo_traverse you're supplying has to be able to be bound to
the DataSkin.  Not all types of Zope "method" objects can do this binding
correctly.  ZPublisher will call the method with two arguments, but your
method will (presumably) need three: one of which is "self" - the DataSkin
itself.  I'm pretty sure DTML methods *won't* work.  "Python Methods"
might.  I don't know about external methods, python scripts, etc.

If I was trying to solve your problem, I would just write a
__bobo_traverse__ in a Python base for my class.  If I needed it to be
replaceable on the fly, I'd write it so that it looked for another
attribute, maybe __skin_traverse__, and called it if it existed.  But I'd
have it pass three parameters, including self, so that I could use almost
any kind of Zope method and make it work.  Then if I needed to customize it
I could use SkinScript or a Class Extender to add the method in.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Re: ZCatalog Scalability

2001-01-17 Thread Michael Bernstein

Christopher Petrilli wrote:
 
 Unfortunately, it won't change in b1, it might change before the final
 release if I can find a better solution.  The problem is in the Vocabulary,
 not in the Catalog itself.  One of the things I'm focusing on is improving
 the algorithms that are used for doing globbing.

Which problem is the algorithm improvement meant to address,
bulk adds or partial search performance?

Thanks,

Michael Bernstein.

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Specialists and __bobo_traverse__

2001-01-17 Thread Steve Alexander

Phillip J. Eby wrote:

   I'm pretty sure DTML methods *won't* work.  "Python Methods"
 might.  I don't know about external methods, python scripts, etc.


I have successfully used PythonScripts for this.


--
Steve Alexander


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




RE: [Zope-dev] Specialists and __bobo_traverse__

2001-01-17 Thread Roch'e Compaan


 Phillip J. Eby wrote:

I'm pretty sure DTML methods *won't* work.  "Python Methods"
  might.  I don't know about external methods, python scripts, etc.


 I have successfully used PythonScripts for this.

Does this mean I have to upgrade to 2.3 beta 1, because Python Methods on
2.2.4 doesn't work?

Roch


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] manage_changeProperties in a loop

2001-01-17 Thread Casey Duncan

Arno Gross wrote:
 
 If I try your suggestion wiht _.getitem(_['sequence-item'])
 (If I remember well this was the first I tried).
 
 dtml-call "REQUEST.set('rangList','folder1;folder2;folder2')"
 dtml-in " _.string.split(rangList,';')"
dtml-with "_.getitem(_['sequence-item'])"
 dtml-let index=sequence-index
   dtml-call "manage_changeProperties({'rang':index})"
 /dtml-let
   /dtml-with
 /dtml-in
 
 I get this error: File
 D:\packages\Zope\WEBSIT~3\lib\python\DocumentTemplate\DT_In.py, line 691, in
 renderwob (Object:  _.string.split(rangList,';'))   File
 D:\packages\Zope\WEBSIT~3\lib\python\DocumentTemplate\DT_With.py, line 133, in
 render (Object: _.getitem(_['sequence-item']))   File
 D:\packages\Zope\WEBSIT~3\lib\python\DocumentTemplate\DT_Util.py, line 337, in
 eval (Object: _.getitem(_['sequence-item']))(Info: _)
 
 Still any hints. Thanks.

Try this:
dtml-call expr="REQUEST.set('rangList','folder1;folder2;folder2')"
dtml-in expr="_.string.split(rangList,';')"
dtml-let folder="_[_['sequence-item']]"
  index="_['sequence-index']"
dtml-call expr="folder.manage_changeProperties({'rang':index})"
/dtml-let
/dtml-in

Also, why are you passing the folder ids in a string like this? Where
are these names coming from, a form?

If so, there are ways to eliminate the whole string.split. Also, the
code would not need to be this complex if the objects themselves can be
passed instead of a delimited string of ids.
-- 
| Casey Duncan
| Kaivo, Inc.
| [EMAIL PROTECTED]
`--

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] manage_changeProperties in a loop

2001-01-17 Thread Arno Gross

On Wed, 17 Jan 2001, Casey Duncan wrote:
 Try this:
 dtml-call expr="REQUEST.set('rangList','folder1;folder2;folder2')"
 dtml-in expr="_.string.split(rangList,';')"
   dtml-let folder="_[_['sequence-item']]"
   index="_['sequence-index']"
   dtml-call expr="folder.manage_changeProperties({'rang':index})"
   /dtml-let
 /dtml-in
 
 Also, why are you passing the folder ids in a string like this? Where
 are these names coming from, a form?

Yes, the names are coming from a from where I can sort the folders for
showing in the desired order.  I know that I can use a list with a SELECTION
tag. But will get only the selected options and I need all the options in the
ordered sequence. Of course I could select programmatically all options before
returning the form and then I could work the list.
But how can I pass the objects instead of the string?
Best wishes
   Arno Gross, [EMAIL PROTECTED]


 If so, there are ways to eliminate the whole string.split. Also, the 
 code would not need to be this complex if the objects
themselves can be  passed instead of a delimited string of ids.
 -- 
 | Casey Duncan
 | Kaivo, Inc.
 | [EMAIL PROTECTED]
 `--

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Massive scalability

2001-01-17 Thread Andy McKay


 Are you saying that Zope's startup and shutdown time is
 affected by the size of the ZODB?

Yep. Over small ZODB's you wont notice the effect until it gets large. I
found it very annoying when doing a lot of work in python and so had two
databases, one with a small amount of data and one with a lot (two sets of
test). However in the end Shane Hathaway's excellent refresh product saved
the day.

--
  Andy McKay.



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Rowcount not available?

2001-01-17 Thread Tim McLaughlin

Is there a reason the rowcount property of the cursor object was not made
available throught the DA (ideally as an optional parameter of the __call__
method)?

Am I missing it somewhere else?

Cheers,
Tim McLaughlin

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Massive scalability

2001-01-17 Thread Andy McKay

Wow, that sounds perfect. Yes that's exactly what I was asking.

I can create an abstract data storage (SkinScript) that stores the data
anywhere, lets say for my purposes an RDBMS (but it could be ZODB etc). I
can then get and access classes (DataSkins) with no cares about the data
storage and use all the advantages an OO approach gives.

I've got to play with this stuff, this could solve my data storage
problems...

Thanks!
--

  Andy McKay.


- Original Message -
From: "Steve Spicklemire" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]
Sent: Wednesday, January 17, 2001 3:43 AM
Subject: Re: [Zope-dev] Massive scalability



 Hi Andy,

I'm not sure what you mean by 'interface/way', so.. I'm going to
 guess at two possible interpretations.

 1) Basically ZPatterns allows you to define classes (DataSkins)
 instances of which can optionally be used to view/create/change/delete
 external data through methods of the class ( + a little SkinScript ).

 If your store your instance data in SQL you can use SQL queries,
 masked from the application behind some generic method (e.g.,
 getFooIdsWithText( textToFind )") to find the id(s) of the instance(s)
 you're after.  You can then get the instance from the ZPatterns
 machinery and, once gotten, display it, change it, call it's methods,
 and/or delete it. The way these actions on the object interact with
 the data in the external database is all defined in 'SkinScript' which is
 hidden away as a PlugIn of a Rack deep inside the ZPatterns guts. At
 the Zope application level you don't really *know* where/how the data
 is stored. Best of all you, or your Product's customers can easily
 customize that part *after* your product is plugged into *their*
 application, without changing the basic application level logic
 and design of your product.

 It's the coolest. ;-)

 2) To get folks started with moving objects from ZODB to SQL I've
 found ZFormulator handy as a tool to get folks quickly up to speed
 in how SQL 'works'.

 http://www.zope.org/Members/faassen/ZFormulator

 If they already have ZClasses, they can use this to 'automatically'
 generate starting point queries to match their class propertysheets.
 Of course... it probably won't be normalized/optimized/etc.. but
 it's better than doing it all for them! ;-)

 -steve

  "Andy" == Andy McKay [EMAIL PROTECTED] writes:

 Andy Does ZPatterns provide a nice interface / way for storing
 Andy classes in a RDBMS? I have to say using an RDBMS is not as
 Andy transparent as I would like, this may may improve
 Andy it. Finally a reason for me to ZPatterns...

 Andy -- Andy McKay.


 Andy - Original Message - From: "John Eikenberry"
 Andy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Cc: "Michael
 Andy Bernstein" [EMAIL PROTECTED] Sent: Tuesday, January 16,
 Andy 2001 3:22 PM Subject: Re: [Zope-dev] Massive scalability


  Michael Bernstein wrote:
 
   So, again: Has anyone run up against any performance or 
  other limitations regarding large numbers (hundreds of 
  thousands or more) of objects stored within the ZODB either 
  in a BTree Folder or a Rack?
 
  I was looking into the same issues recently, but for a much
  smaller set of data (5ish). In my tests
  ZPatterns/binary-trees scaled well for
 Andy storage
  and retrieval. But ZCatalog did not. It was basically useless
  for partial matching searches (taking many minutes for searches
  that retrieved more than 100 matches). I was also concerned
  about the indexing overhead. It doesn't scale well when
  changing/adding many things at a time (we might have bulk
  adds/changes).
 
  I ended up deciding to go with a RDBMS backend for data storage
  with a ZPatterns interface. SkinScripts work so well for this
  that I'm actually glad I switched. It simplified my design and
  implementation immensely.
 
  --
 
  John Eikenberry [[EMAIL PROTECTED] - http://zhar.net]
  __
  "A society that will trade a little liberty for a little order
  will deserve neither and lose both."  --B. Franklin
 
  ___ Zope-Dev
  maillist - [EMAIL PROTECTED]
  http://lists.zope.org/mailman/listinfo/zope-dev ** No cross
  posts or HTML encoding!  ** (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )
 


 Andy ___ Zope-Dev
 Andy maillist - [EMAIL PROTECTED]
 Andy http://lists.zope.org/mailman/listinfo/zope-dev ** No cross
 Andy posts or HTML encoding!  ** (Related lists -
 Andy http://lists.zope.org/mailman/listinfo/zope-announce
 Andy http://lists.zope.org/mailman/listinfo/zope )



 

[Zope-dev] No Restarts-cos-of-changed-python-product in 2.3?

2001-01-17 Thread Chris Withers

Andy McKay wrote:
 
 Yep. Over small ZODB's you wont notice the effect until it gets large. I
 found it very annoying when doing a lot of work in python and so had two
 databases, one with a small amount of data and one with a lot (two sets of
 test). However in the end Shane Hathaway's excellent refresh product saved
 the day.

I think this problem is fixed in 2.3... anyone know how?

Is there a 'refresh this product' button or is it done simply by modifying a
python file on disk?

cheers,

Chris

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Re: ZCatalog Scalability

2001-01-17 Thread Chris Withers

Michael Bernstein wrote:
 
 Christopher Petrilli wrote:
 
  Unfortunately, it won't change in b1, it might change before the final
  release if I can find a better solution.  The problem is in the Vocabulary,
  not in the Catalog itself.  One of the things I'm focusing on is improving
  the algorithms that are used for doing globbing.
 
 Which problem is the algorithm improvement meant to address,
 bulk adds or partial search performance?

I'm guessing the partial search thing, but the bulk add thing really needs to be
sorted out too.

NIP'd love to move the archives at http://zope.nipltd.com/public/lists.html to a
wholely Zope solution, but ZCatalog consistently exploded when we tried to do
this.
For now, we're working on a Zope front end into MySQL (MySQL's new full text
searching stuff is pretty damn quick, maybe you could nick their algorithms? ;-)

So, are both of these problems being addressed? If so, when are we likely to see
them?

Thanks for the work so far :-)

Chris

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] No Restarts-cos-of-changed-python-product in 2.3?

2001-01-17 Thread Andy McKay

I haven't spotted any UI for it, if its there. Shane's Refresh didn't quite
work all the time for every product (something he recognized in his
readme's).  This would be a huge advantage for me with 2.3.
--
  Andy McKay.


- Original Message -
From: "Chris Withers" [EMAIL PROTECTED]
To: "Andy McKay" [EMAIL PROTECTED]
Cc: "Michael Bernstein" [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Wednesday, January 17, 2001 10:24 AM
Subject: [Zope-dev] No Restarts-cos-of-changed-python-product in 2.3?


 Andy McKay wrote:
 
  Yep. Over small ZODB's you wont notice the effect until it gets large. I
  found it very annoying when doing a lot of work in python and so had two
  databases, one with a small amount of data and one with a lot (two sets
of
  test). However in the end Shane Hathaway's excellent refresh product
saved
  the day.

 I think this problem is fixed in 2.3... anyone know how?

 Is there a 'refresh this product' button or is it done simply by modifying
a
 python file on disk?

 cheers,

 Chris

 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Re: ZCatalog Scalability

2001-01-17 Thread Andy McKay

 Michael Bernstein wrote:
 
  Christopher Petrilli wrote:
  
   Unfortunately, it won't change in b1, it might change before the final
   release if I can find a better solution.  The problem is in the
Vocabulary,
   not in the Catalog itself.  One of the things I'm focusing on is
improving
   the algorithms that are used for doing globbing.
 
  Which problem is the algorithm improvement meant to address,
  bulk adds or partial search performance?

 I'm guessing the partial search thing, but the bulk add thing really needs
to be
 sorted out too.

 NIP'd love to move the archives at
http://zope.nipltd.com/public/lists.html to a
 wholely Zope solution, but ZCatalog consistently exploded when we tried to
do
 this.
 For now, we're working on a Zope front end into MySQL (MySQL's new full
text
 searching stuff is pretty damn quick, maybe you could nick their
algorithms? ;-)

For a similar project (http://mailarchive.activestate.com) we too use a
MSSQL back end, for various reasons similar to Chris. I'm not worried about
it, once upon a time I tried to stick everying in the ZODB. To me one of
Zope's great strengths is it's portability and connectivity to other
databases and storage systems.

--
  Andy McKay.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Massive scalability

2001-01-17 Thread ender

On Tuesday 16 January 2001 20:42, Michael Bernstein wrote:

 Are you saying that Zope's startup and shutdown time is
 affected by the size of the ZODB?

AFAIK on a filestorage zope loads up the indexes (oid, file_offset?) into 
memory on start to facilitate object retrieval which impacts start up time. i 
don't think the other storages operate this way.

kapil

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Massive scalability

2001-01-17 Thread Andy McKay

On the plus side any corrupted objects are fixed or deleted when you start
up the ZODB. For that reason, somedays a restart is very useful :)
--
  Andy McKay.


- Original Message -
From: "ender" [EMAIL PROTECTED]
To: "Michael Bernstein" [EMAIL PROTECTED]; "Andy McKay"
[EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Wednesday, January 17, 2001 12:05 PM
Subject: Re: [Zope-dev] Massive scalability


 On Tuesday 16 January 2001 20:42, Michael Bernstein wrote:

  Are you saying that Zope's startup and shutdown time is
  affected by the size of the ZODB?

 AFAIK on a filestorage zope loads up the indexes (oid, file_offset?) into
 memory on start to facilitate object retrieval which impacts start up
time. i
 don't think the other storages operate this way.

 kapil

 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] mounting obj to more than one zodb location

2001-01-17 Thread ender

whats happens when you create a persistent object and mount it 
to multiple points on your zodb. do you get a shared ref or multiple
copies of the object?


kapil

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] recent DynPersist.dll for windows

2001-01-17 Thread Steve Alexander

Hi Folks,

Does anyone have a recently compiled DynPersist.dll from ZPatterns, 
compiled for Windows ?

Thanks.

--
Steve Alexander
Software Engineer
Cat-Box limited
http://www.cat-box.net


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Re: ZCatalog Scalability

2001-01-17 Thread Chris Withers

 For a similar project (http://mailarchive.activestate.com) we too use a
 MSSQL back end, for various reasons similar to Chris. I'm not worried
about
 it, once upon a time I tried to stick everying in the ZODB. To me one of
 Zope's great strengths is it's portability and connectivity to other
 databases and storage systems.

That's very true :-)

...however, ODB's seem good for tree-like data, probably better than RDB's,
which are better suited to tables. While the mail messages themselves are
tabular, the threading, which for me is _the_ most important part, is very
tree-like and so, again for me, would sit much more nicely in an ODB.

Now, the Catalog, as well as providing a very easy to use interface, is
great for indexing tree-like data, but sadly its performance ain't that
great for big numbers and/or complex searches right now.

If it was lightning fast, better documented and had much more powerful
searching capabilities, it would be Zope's absolute killer feature.

Well, I can keep dreaming, I suppose :-)

Anyway, all Chris P's work is bringing that closer, so thanks for the
changes so far, I'm waiting with baited breath for those to come ;-)

cheers,

Chris


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] recent DynPersist.dll for windows

2001-01-17 Thread Phil Harris

Steve,

I've got one on a box at work, I'll check back with you tomorrow, and if you 
still need it it's yours.

I may even be persuaded to compile a new one ;)

Phil

On Wednesday 17 January 2001 23:13, Steve Alexander wrote:
 Hi Folks,

 Does anyone have a recently compiled DynPersist.dll from ZPatterns,
 compiled for Windows ?

 Thanks.

 --
 Steve Alexander
 Software Engineer
 Cat-Box limited
 http://www.cat-box.net


 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] mounting obj to more than one zodb location

2001-01-17 Thread Chris Withers

 whats happens when you create a persistent object and mount it
 to multiple points on your zodb. do you get a shared ref or multiple
 copies of the object?

..shared ref if you do it like you say you are :-)

I'd love to see ObjectManagers support this.

...yes, there are security implications (the object has two or more security
paths, depending on how you access it) but if you take that into account, it
provides for some pretty impressive flexibility.

However, you can quite often do something funky with a __bobo_traverse__
method to get around the need for this :-)

cheers,

Chris


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] recent DynPersist.dll for windows

2001-01-17 Thread Chris Withers

What version in particular?

Try searching the archives, I posted quite a recent one a while back :-)

cheers,

Chris


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




RE: [Zope-dev] ZCatalog with ZClass

2001-01-17 Thread Lily Li

Hi,

I tried it with a new product following the HowTo, and it works perfectly.
Thanks a lot.

But actually I have already an exsisted product with a Container ZClass
'KTracker'(inherit from ObjectManager) and an Item ZClass called
'TrackerIssue'. And it's been used for a while with the instance 'tracker'
and hundreds of issues inside. Now I've succeeded in changing the base class
for 'KTracker'to subclass ObjectManager and ZCatalog, and changing
'TrackerIssue' to CatalogAware. 

As 'tracker' instance was created before, although the base class is changed
now, the constructor of the new base class seems not running. So I created
an External Method to run the constructor of ZCatalog as follows:

from Products.ZCatalog.ZCatalog import ZCatalog

def initContainer(self):
ZCatalog.__init__(self, self.id)

Then I ran this method through IE browser:
http://hostname/.../tracker/initContainer. It seems working, as a Vocabulary
folder is created. And I could make settings to index and so on. 

But there's one thing incorrect: When using manage_catalogFind to catalog
the object of type 'TrackerIssue', nothing was returned. If changing the
finding type to 'All types', all the 'TrackerIssue' objects and other types
of objects are cataloged together. The auto-catalogAware works fine for
'TrackerIssue' objects though. 

Do you have any idea why this happens? Does it have anything to do with the
order of base class, etc.? If just the manage_catalogFind doesn't work well,
will it affect the searching stuff much, if CatalogAware works fine?

Thanks a lot.

Lily

-Original Message-
From: Michael Bernstein [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 17, 2001 12:11 AM
To: Lily Li
Cc: '[EMAIL PROTECTED]'
Subject: Re: [Zope-dev] ZCatalog with ZClass


Lily Li wrote:
 
 Hello, everyone,
 
 It seems that many of you have used ZCatalog pretty well.
 
 My problem is that I'd like a ZClass (of a Product) to subclass
 CatalogAware, and implement all the index and search inside the Product.
 That means I don't want to do any DTML method stuff outside of the
Product.

What you probably want is to create a repository that
subclasses ZCatalog as is described in this HowTo:

http://www.zope.org/Members/tseaver/inherit_ZCatalog

And then add your CatalogAware ZClasses into it. Then you
can set up your ZCatalog/ObjectManager with search methods.

HTH,

Michael Bernstein.

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] mounting obj to more than one zodb location

2001-01-17 Thread Shane Hathaway

ender wrote:
 
 whats happens when you create a persistent object and mount it
 to multiple points on your zodb. do you get a shared ref or multiple
 copies of the object?

It depends on the product you use for mounting, but generally you'll get
a shared database with independent connections.  So it will work, but if
you make conflicting changes, the transaction should fail.

This is only an artifact of the current implementation, though.

Shane

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] HTTPRequest change to allow images as submit methods

2001-01-17 Thread richard

Zope's got this really cool form handling mechanism that allows us to have
mutiple submission buttons that call different methods. Way neat. Now, I'd
really like to have the same mechanism available when using images as
submission buttons (that is, input type="image" name="goMethod:method")

This breaks, of course, because goMethod:method gets turned into
goMethod:method.x and goMethod:method.y.

My proposal is to patch HTTPRequest.processInputs so that the search_type
RE is as follows:

   ':\([a-zA-Z][a-zA-Z0-9_]+\|\.[xy]\)$'

processInputs already loops through the name to find all :foo entries, and
the .x / .y results are just ignored by the 
code. The HTML FORM source needs to be changed to include the extra ':'
required to make this work:

   input type="image" name="goMethod:method:"
^
It works fine for me in practice. I believe this will also benefit anyone
who wants other typed information from imagemap submissions (integer or
float values, for example).


Richard

-- 
Richard Jones
[EMAIL PROTECTED]
Senior Software Developer, Bizar Software (www.bizarsoftware.com.au)

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )