[Seaside] Re: Seaside and GOODS

Esteban A. Maringolo eMaringolo at smalltalking.net
Fri Mar 18 14:44:56 CET 2005

Avi Bryant escribió:
> On Thu, 17 Mar 2005 23:05:11 -0500, Daniel Salama <dsalama at user.net> wrote:

>>>The main reason at this point I would opt not to use GOODS for a
>>>particular project would be performance concerns - having to do
>>>everything over the network, combined with a lack of server-side
>>>querying, can be a real problem for some applications.

>>This may be indeed a negative point. I don't know if this is common to
>>most OODB implementations or restricted to a smaller subset, in which
>>GOODS happens to fall in.

> The latter.  Many OODBMS either allow server-side querying (for
> example, GemStone has a Smalltalk VM on the server so that you can run
> arbitrary Smalltalk queries), or don't have a client/server
> distinction at all (like OmniBase which reads and writes directly to
> the filesystem from your Smalltalk image).   GOODS has neither, which
> makes it especially important to use good data structures in your
> GOODS applications.

I want to add a small comment on this.
The problem here, comes more from design and conception, than 
implementation or "lack of features".
If you're building software using objects with Smalltalk, the 
concept of "data" does not fit, at least not so, "data structures" 
would be "object relations/composition".

Object systems are more "navigable", the concept of query 
(selection, rejection, etc) only works if you have "data", and other 
"data" which relates the former data. When you use objects the 
relation is implicit, so you have to model your objects having that 
in mind.

If you query 50000 rows only to select a single sample, your 
generating 49999 rows of garbage (no matter of cursor type).
If your model is "navigable" is just a point to other object.

And that will prove true to any ODB, being it active (GemStone) or 
passive (OmniBase).

Best regards.

eMaringolo at smalltalking.net

More information about the Seaside mailing list