Re: S.O.D.A. database Query API - call for comments

From: Carl Rosenberger <carl_at_db4o.com>
Date: Sat, 21 Jul 2001 18:02:17 GMT
Message-ID: <9d3nm2$2cl$00$1_at_news.t-online.com>


Lee Fesperman wrote:
> > With your approach there is no possibility for server-side query
> > optimization. Every single object needs to be instantiated completely,
 just
> > to evaluate a simple member. This will perform very badly.
>
> Not really. Column objects are not intended to be complex application
 objects but
> instead user-defined types. They tend to be small, and member references
 are minimal.
> Serialization works well in this circumstance. Caching also helps.

In this case you are using objects merely as structs. Since your method logic can not modify anything out of the tiny "local-object-sandbox", it only serves to access a value for querying. It would be more efficient to store the respective value as such, and to reuse it without needing an instance of your object.

I would not call a database that does that "object-relational", simply because you don't relate objects with eachother.User defined datatypes have been possible for a long time.

> > What do you do, if user classes are modified?
>
> Only 'serialization-safe' modifications can be done. This is less of a
 problem because
> of the way objects are used.

This means that the user-defined datatype can never be changed.

> > What happens if:
> > - object A has a member B
> > - object A is stored to one column in one table
> > - object B is stored to another column in another table
> > - one query delivers object A
> > - another query delivers object B
> > How many instances of object B will be produced?
>
> 2 instances of B will be produced. In FirstSQL/J, we don't want the member
 B in object A
> to change when the separately referenced object B is changed. Linking of
 entities is
> through relational techniques. Navigating through member references in
 objects adds
> unneeded complexity to a query language.

I don't see the point in using objects at all, if you can't keep them linked together. If I would be using your databse: Instead of useing your "object" functionality I would prefer working purely relational.

Kind regards,
Carl

---
Carl Rosenberger
db4o - database for objects - http://www.db4o.com
Received on Sat Jul 21 2001 - 20:02:17 CEST

Original text of this message