Re: [ZODB-Dev] Searching/wo/Zope

2006-01-07 Thread Dieter Maurer
Tamas Hegedus wrote at 2006-1-6 15:54 -0500:
> ...
>Answer for Dieter's email:
>Several days ago somebody already suggested to use IndexedCatalog. But 
>it have not seem to be very active.

Maybe, because it is good enough?

-- 
Dieter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Searching/wo/Zope

2006-01-06 Thread Tamas Hegedus

Hi,

Tell me if you are tired from me. I do not use to write so long emails 
to email lists...



Answer for Dieter's email:
Several days ago somebody already suggested to use IndexedCatalog. But 
it have not seem to be very active. The stand alone ZCatalog definitely 
not active.
My decision to use ZCatalog was: it is an extraction of code from Zope; 
Zope will be always maintained (isn't it?), just I have to figure out 
how to 'hack out' the stand alone ZCatalog based on Kevin Dangoor's 'hack'.

Kevin already mentioned that Zope 3 would be better for this purpose.

At this moment I think the best way for me in long term: handle the 
querying through a wrapper class of mine. Put a layer between my 
application(s) and the indexing application (something similar to RDBMS 
DB-API; changing the db backend (in my case changing the 
indexing/searching backend) without (big) changes in the application code).


Does some similar standards exist for ODBMSs? Similar to DB-API...

-

Please do not forget that I am not a real programmer but a consumer:

That's OK -- in return, please don't forget that you're posting to a ZODB
developer's list ;-).
Not a real programmer: I have not learn it in the school; I read and try 
to use developer lists (and brains) ;-)


I just want to state: it is very difficult for me to formulate my 
questions in a way you understand them easily. Although I think I put 
more then enough time and energy to form relevant questions with 
relevant terminology avoid wastin the time of other people.


--

That's the only solid reason Zope Corp has to _pay_ for ZODB development.
Zope pays the bills here, and ZODB is supporting infrastructure for Zope.



Then OK. But if there is bigger potential inside it...

Then what, specifically?  Nobody works on something unless they want to,
and/or are paid to.  It's not a matter of cheerleading, it's a matter of
someone doing the work.

--
Yes, I understand, that you have to feed your family and educate your 
child. So if it is not payed...


I am surprised that you ask 'then what, specificaly'. My opinion (as an 
outsider):
One of the major and important trend in application development: object 
persistance.


At this moment most of the developers use (I may not be true) some 
solution with RDBMS backend (SQLObject/Python; Hybernate/Java). But I 
think these solutions are not so transparent as ODBMSs, like ZODB, db4o 
(I tried these).


I think other programmers mostly use a solution with an RDBMS backend as 
 they do not want to handle/code the searching/indexing (I know that 
ODBMS performance told to be not so good as RDBMS, but I think if you 
calculate with the OR mapping overhead than some ODBMS are not so bed. 
E.g. some heavily loaded biological application Versant's ODBMS was 
reported better then one of the leader RDBMS ***).


"Specificaly" I think if you would implement a stand alone search/index 
possibility for ZODB (if you would use some similar Zope-hacking 
approach it would NOT be a huge, completely stand-alone project needing 
a lot of efforts) ZODB could be an ODBMS leader, competitor of other 
ODBMS solutions. So you may have more paying consumers, too...


 (footnotes)
(***My biggest problem is: if I want other biologists to try my 
solutions/applications I do not have any chance for this with an RDBMS 
backend. They just will not learn how to setup and will not setup an 
RDBMS to try out something. For this reason an ODBMS system would be OK 
for me.)



(I think it would be also worth to implement some standards for ODBMSs. 
Some ODB-API. Just to be able to change ODBMS backends and/or 
indexing/searching backends. (I also know that there is no other
 ODBMS backend to choose from and you do not want to switch users from 
ZODB to other backend in the future :-) , but I think you would have the 
potential to do something like this. Just for fun. Just to initiate some 
ODBMS standardization)




A notable exception is IndexedCatalog:

http://www.async.com.br/projects/IndexedCatalog/

which is independent of Zope.  You said before that you thought that wasn't
active, and it indeed doesn't look like it's had a release recently.  That
could be because it's already perfect ;-) -- or it could be that there's not
I am not a 'real' developer, but it seems others also would not go with 
it, even though if it is perfect. If you (ZODB developers) change 
something in the next release of ZODB than the perfect IndexedCatalog 
may not be able to communicate with the new version of the ZODB backend...



(By the way: I think it is great and big, and I would like to use it.)
To formulate this on a more realistic way: it seems for me that there
is no potential to take care about this extra proje

Re: [ZODB-Dev] Searching/wo/Zope

2006-01-05 Thread Dieter Maurer
Tamas Hegedus wrote at 2006-1-4 14:38 -0500:
>You have released the ZODB/ZEO as a stand alone package. But there is no 
>stand alone searching possibility. Why? This just does not make any sense.
>
>Yous suggested and I tried Kevin Dangoor's stand alone ZCatalog. It uses 
>the Zope source just remove the zope dependences, etc (some type of 
>hack). But it is not maintained. I think releasing and maintaining 
>something similar would not be a big work, but would make ZODB/ZEO at 
>much higher rank among the ODBMSs. People would start to build projects 
>on them...

There is also a stand-alone querying solution.
I think, its name is "IndexedCatalog". Search the list archives, to
locate it.

-- 
Dieter
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


RE: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Tim Peters
[Tamas Hegedus]
> Please do not forget that I am not a real programmer but a consumer:

That's OK -- in return, please don't forget that you're posting to a ZODB
developer's list ;-).

> 0. I accept if the policy is making ZODB just for Zope.

That's the only solid reason Zope Corp has to _pay_ for ZODB development.
Zope pays the bills here, and ZODB is supporting infrastructure for Zope.
ZODB is an open project, though, and others are free to contribute-- or even
to pay others for --ZODB work that doesn't directly support a glaring Zope
need.

> Then OK. But if there is bigger potential inside it...

Then what, specifically?  Nobody works on something unless they want to,
and/or are paid to.  It's not a matter of cheerleading, it's a matter of
someone doing the work.

For example, I'm sure that someone so motivated could produce an add-on
package for ZODB supporting some vision of automatic index/catalog/search.
Most people who are likely to contribute time and/or money to do such a
thing are likely to do it in the context of Zope, though, simply because
Zope pays their bills too.  For example, Dieter Maurer has done some hard
work on speeding searches (see IncrementalSearch and IncrementalSearch2 at:

http://www.dieter.handshake.de/pyprojects/zope

).

A notable exception is IndexedCatalog:

http://www.async.com.br/projects/IndexedCatalog/

which is independent of Zope.  You said before that you thought that wasn't
active, and it indeed doesn't look like it's had a release recently.  That
could be because it's already perfect ;-) -- or it could be that there's not
a large enough community who wants it to support ongoing development.  I
don't know.

> (By the way: I think it is great and big, and I would like to use it.)
> To formulate this on a more realistic way: it seems for me that there
> is no potential to take care about this extra project outside of Zope
> AND/OR it would not be good for Zope developers to have it as an
> easy-to-use stand alone module (maybe some business policy?).

Not sure I followed that.

> 1. """That's usually viewed as an application-level problem, and it's up
> to applications to solve it in ways best suited for their particular
> needs.""" If I translate this for myself, if I understand well: I am very
> happy that RDBMSs does not say this, and I can search them not only by
> primary keys; I am happy that I do not have to implement something
> similar to SQL as it is not considered as "application level problem".

A relational database forces you to slam all your data into uniform tables,
regardless of whether that's a natural fit.  When all you have is uniform
tables, then it's relatively easy to define uniform operators for crawling
over those tables -- that's what SQL is all about.

An object database is more of a general graph structure, and an
application's idea of "search" can be correspondingly semantically richer
from the start -- or even irrelevant, if the object graph is constructed
from the start to make traversals of potential interest follow the natural
graph pointers.  What's the analogue to SQL in this quite different view of
the world?  Well, there isn't a standard accepted vision for that.  That's
what makes it the app's problem.  These are tradeoffs.  Zope's assorted
indices and catalogs _probably_ capture some notion of "search" close to
what you're after.

> 2. BTrees: I could not find any 'built-in' possibility in the docs, just
> the 'primary keys'. If I check the OOBTree, etc, it just give
> 'difference', 'intersection', 'union'. I do not see to do full text
> search or field search on BTrees. Do I miss something???

BTrees map keys to values.  The keys are always maintained in sorted order,
and it's both dead easy and efficient to do range searches over a BTree's
key space.  That's what's built in.

> (I do not think as if I would than you would not call the problem
> "application" level problem).

It depends on the app.  I gave SpamBayes as a concrete example of a real app
where the builtin abilities of BTrees do all the searching the app requires
(and it's not an accident that SpamBayes was designed that way -- just as it
wouldn't have been an accident if an RDMS fan had designed SpamBayes to work
directly with simple RD tables).

> 3. I can not build up another database from the ZODB as I am not a
> developer.

Do you use Python?  I'm at a bit of a loss to figure out how you wound up
posting here if you're _not_ a Python programmer.  It could be that ZODB is
much more general than I thought ;-), but I didn't think non-programmers
would have any use for it.

> But I think you formulated this not the best way: I think you do not
> build the SB database OUT of ZODB's BTrees, I think you just build
> up indexes from the BTrees and you implement searches on your indexes
> that points back to the BTrees.

I suppose you could think of it that way, but I designed SpamBayes and
that's not how I thought of it.  I thought of it in terms of abstract

Re: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Tamas Hegedus

Hi,

Please do not forget that I am not a real programmer but a consumer:

0. I accept if the policy is making ZODB just for Zope. Then OK.
But if there is bigger potential inside it... (By the way: I think it is 
great and big, and I would like to use it.)
To formulate this on a more realistic way: it seems for me that there is 
no potential to take care about this extra project outside of Zope 
AND/OR it would not be good for Zope developers to have it as an 
easy-to-use stand alone module (maybe some business policy?).


1. """That's usually viewed as an application-level problem, and
it's up to applications to solve it in ways best suited for their 
particular needs."""

If I translate this for myself, if I understand well:
I am very happy that RDBMSs does not say this, and I can search them not 
only by primary keys; I am happy that I do not have to implement 
something similar to SQL as it is not considered as "application level 
problem".


2. BTrees: I could not find any 'built-in' possibility in the docs, just 
the 'primary keys'. If I check the OOBTree, etc, it just give 
'difference', 'intersection', 'union'.

I do not see to do full text search or field search on BTrees.
Do I miss something??? (I do not think as if I would than you would not 
call the problem "application" level problem).


3. I can not build up another database from the ZODB as I am not a 
developer. But I think you formulated this not the best way: I think you 
do not build the SB database OUT of ZODB's BTrees, I think you just 
build up indexes from the BTrees and you implement searches on your 
indexes that points back to the BTrees.

=> If you build up a new database why do you use ZODB?
=> If you just build indexes from the BTrees, the following protocol 
works for me and you can suggest?

1. walk trough on your BTree taking each object
2. with an external indexing application build the index (on one or more 
fields, or full text)
3. search in your index that returns with the 'primary key' of objects 
in the ZODB

4. get the objects from the ZODB via the 'primary keys' from the prev step.
???

Thanks for your comments and suggestion in advance,
Tamas


Tim Peters wrote:

> [Tamas Hegedus]
>
>> You have released the ZODB/ZEO as a stand alone package. But there is no
>> stand alone searching possibility. Why? This just does not make any
>> sense.
>
>
>
> It makes sense if you know why ZODB is released this way ;-)   Primarily,
> it's so that people running Zope can install ZEO servers on other 
machines,

> without needing to install Zope there too.  If others can make use of
> standalone ZODB too, that's great, but it's not the primary intent.
>
> There are no current plans to add index/catalog/search code to the ZODB
> distribution.  That's usually viewed as an application-level problem, and
> it's up to applications to solve it in ways best suited for their 
particular

> needs.
>
> As an example, I'm the titular head of the SpamBayes project:
>
> http://spambayes.sourceforge.net
>
> and we're in the process there of adopting ZODB as the default backend
> database.  While SpamBayes needs to search its database frequently and
> heavily, there's nothing ZODB could add that we would use!  Instead we'll
> build the SB database directly out of ZODB's BTrees, whose builtin 
searching

> abilities are a perfect fit to what SB needs.
>
> Are you quite sure that someone else's idea of a general-purpose 
searching

> facility is something you'd actually use?  Don't underestimate the
> difficulties in crafting a "one size fits all" approach here that 
actually

> fits anyone ;-)
>

--
Tamas Hegedus, PhD  | phone: (1) 919-966 0329
UNC - Biochem & Biophys | fax:   (1) 919-966 5178
5007A Thurston-Bowles Bldg  | mailto:[EMAIL PROTECTED]
Chapel Hill, NC, 27599-7248 | http://biohegedus.org
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


RE: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Tim Peters
[Tamas Hegedus]
> You have released the ZODB/ZEO as a stand alone package. But there is no
> stand alone searching possibility. Why? This just does not make any
> sense.

It makes sense if you know why ZODB is released this way ;-)  Primarily,
it's so that people running Zope can install ZEO servers on other machines,
without needing to install Zope there too.  If others can make use of
standalone ZODB too, that's great, but it's not the primary intent.

There are no current plans to add index/catalog/search code to the ZODB
distribution.  That's usually viewed as an application-level problem, and
it's up to applications to solve it in ways best suited for their particular
needs.

As an example, I'm the titular head of the SpamBayes project:

http://spambayes.sourceforge.net

and we're in the process there of adopting ZODB as the default backend
database.  While SpamBayes needs to search its database frequently and
heavily, there's nothing ZODB could add that we would use!  Instead we'll
build the SB database directly out of ZODB's BTrees, whose builtin searching
abilities are a perfect fit to what SB needs.

Are you quite sure that someone else's idea of a general-purpose searching
facility is something you'd actually use?  Don't underestimate the
difficulties in crafting a "one size fits all" approach here that actually
fits anyone ;-)

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Tamas Hegedus
approach to get this done it to either work on the issue on your own or 
pay someone...this is just a question of developer resources and 
priorities.

I do not have any finantial resources.
So I have to do on my own way...

Regards,
Tamas

--
Tamas Hegedus, PhD  | phone: (1) 919-966 0329
UNC - Biochem & Biophys | fax:   (1) 919-966 5178
5007A Thurston-Bowles Bldg  | mailto:[EMAIL PROTECTED]
Chapel Hill, NC, 27599-7248 | http://biohegedus.org
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Andreas Jung



--On 4. Januar 2006 15:11:37 -0500 Tamas Hegedus <[EMAIL PROTECTED]> 
wrote:

I am not a programmer. This is the source of all my problems. I just did
not have the patient (and knowledge) to learn to develop zope
applications. But I want to stick with Python and I need a transparent
(object) database for my objects. ZODB is very promising. But without
querying possibility... Without a maintained querying possibility...


Most ppl use the ZODB together with Zope. So likely all related resources
are focused on Zope issues. I agree that it might be of interest to support
the ZODB and the ZCatalog outside Zope but as Zope core developer I have 
personally no time for such projects and little interests. So the basic 
approach to get this done it to either work on the issue on your own or pay 
someone...this is just a question of developer resources and priorities. 
From the Zope point of view I consider this issue as an issue of lowest 

priority.

-aj




pgpFJSpd7cCzl.pgp
Description: PGP signature
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Tamas Hegedus
Using the catalog stuff from Zope 3(!) would make more sense than 
dealing with the Zope 2 catalog.

This would be great!


I think releasing and maintaining
something similar would not be a big work, but would make ZODB/ZEO at
much higher rank among the ODBMSs.

Do you volunteer to take work on this issue?

I would be happy. Just somebody should help me a lot at the first time.
E.g. I do not know how to create a python package. I was not able to 
find the 'ZCatalog' in my Zope source. I do not know Zope or ZODB 
internals, etc.


I am not a programmer. This is the source of all my problems. I just did 
not have the patient (and knowledge) to learn to develop zope 
applications. But I want to stick with Python and I need a transparent 
(object) database for my objects. ZODB is very promising. But without 
querying possibility... Without a maintained querying possibility...


Take everything together, I would be very happy to maintain, but I would 
need help (let say, I would be very proud to be involved in a serious, 
real world project :-) ).


Tamas

--
Tamas Hegedus, PhD  | phone: (1) 919-966 0329
UNC - Biochem & Biophys | fax:   (1) 919-966 5178
5007A Thurston-Bowles Bldg  | mailto:[EMAIL PROTECTED]
Chapel Hill, NC, 27599-7248 | http://biohegedus.org
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Andreas Jung



--On 4. Januar 2006 14:38:13 -0500 Tamas Hegedus <[EMAIL PROTECTED]> 
wrote:



Hi!

You have released the ZODB/ZEO as a stand alone package. But there is no
stand alone searching possibility. Why? This just does not make any sense.

Yous suggested and I tried Kevin Dangoor's stand alone ZCatalog. It uses
the Zope source just remove the zope dependences, etc (some type of
hack). But it is not maintained. I think releasing and maintaining
something similar would not be a big work, but would make ZODB/ZEO at
much higher rank among the ODBMSs. People would start to build projects
on them...



Using the catalog stuff from Zope 3(!) would make more sense than dealing 
with the Zope 2 catalog.



I think releasing and maintaining
something similar would not be a big work, but would make ZODB/ZEO at
much higher rank among the ODBMSs.


Do you volunteer to take work on this issue?

-aj

pgpsKDk7GvwAC.pgp
Description: PGP signature
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Searching/wo/Zope

2006-01-04 Thread Tamas Hegedus

Hi!

You have released the ZODB/ZEO as a stand alone package. But there is no 
stand alone searching possibility. Why? This just does not make any sense.


Yous suggested and I tried Kevin Dangoor's stand alone ZCatalog. It uses 
the Zope source just remove the zope dependences, etc (some type of 
hack). But it is not maintained. I think releasing and maintaining 
something similar would not be a big work, but would make ZODB/ZEO at 
much higher rank among the ODBMSs. People would start to build projects 
on them...


Regards,
Tamas

--
Tamas Hegedus, PhD  | phone: (1) 919-966 0329
UNC - Biochem & Biophys | fax:   (1) 919-966 5178
5007A Thurston-Bowles Bldg  | mailto:[EMAIL PROTECTED]
Chapel Hill, NC, 27599-7248 | http://biohegedus.org
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev