From: ameesh@lsil.com (Ameesh Desai)
Newsgroups: comp.databases
Subject: Re: OODB Experiences/Opinions (Objectivity)
Keywords: Objectivity, OODB
Date: 12 Aug 92 18:11:15 GMT
Reply-To: ameesh@lsil.com
Organization: LSI Logic Corporation


In article 713575168@stone.NSD.3Com.COM, bem@ESD.3Com.COM (Evan McGinnis) writes:
>My development group is starting to evaluate databases for OO
>development and I would really appreciate some experiences/
>opinions/testimonials.  

>We are looking at:
>Versant, ObjectStore, Ontos and Raima*.
>
  ......
>We have pretty much counted out relational DBs, as they
>don't seem fit well into OO development.  (This is your
>cue to let me know if I'm wrong here, and insert a 
>testimonial about why you think XXX rdbms is perfect for OO
>development)
    Same here !
>
>>-Evan-
>
>--
>------------------------------------------------
>Evan McGinnis                   3Com Corporation
>bem@3Com.com                    (408)764-6064
>------------------------------------------------



We are in a similar situation. I shall give my opinion of what I have gathered from
the varous marketing litrature regarding Objectivity.
Could you post a summary of other replies/posts.

Objectivity : 
	This has a concept of 'federated' databases, and seems to address the issues of 
    distributing data accross hetrogenous platforms well. 

	However, to the best of my knowledge I found the following drawbacks ...
    
	1. It requires you to derive your persistent objects from its base class 
 	   this raises a number of issues ...
	   - Do they have any virtual fns in that class, if so you pay the 4bytes for the
	     vtbl ptr.
	   - Do they need us to inherit that class as virtual ? In that you pay 4 more
         bytes ! (this is to allow multiple inheritance).
	   - Can u create a non-persistent object of a class derived from their
		 base ? 
	2. They overload the -> operator to be able to resolve the pointer addresses
	   i.e. if its on disk, bring it in on demand (it is a 'smart' ptr)
	   - Does this prevent us from using smart pointers in our code ?
	   - Every pointer derefrence will now have the overhead of checking if the 
	     address is real or on disk.
	   - as in C++ you can't overload the left side operator in a different manner
	     from the right side one - it does not know if you are updating the object
	     or just reading it.
			i.e. x->y = z; 
			 and z = x->y; calls the same operator->, 
		 Thus they need us to add a call to mark an object 'dirty' everytime its
		 updated. This involves code change ! What about Class Libraries !!!
	3. Their approach involves code change as shown by the requirements above.
		- this is a major problem as one of the great advantages of OOP and C++ is
	      the availibility of class libraries and code re-use, I do not want to
		  understand the internals of the library in order to use its services ! 
		  I am even more reluctant to change library source - in some cases u will
	 	  not have access to the source !
	4. They do not have a Query language.
	5. They do not have Configuration Control.


As you can see I have a number of issues that are not addressed well by Objectivity.
Also I have a number of unanswered questions.

Any comments from Objectivity insiders ??? 

I should also mention that the above info is stuff I gathered thru marketing litrature
that is now about a year old and things might have changed. 

Disclaimer: These opinions do not in any way reflect the official position of LSI
			Logic, they are strictly my personal observations.


Ameesh


---
______________________________     o__            
| _   /|     Ameesh Desai     \    ,>/_                              
| \`O.o'     LSI Logic Corp.   \__(_)`(_)_              email: ameesh@lsil.com
| =(_|_)=    MS E192, 1501 McCarthy Blvd. \             fax  : (408) 433-6802
|____U_______Milpitas, CA 95035____________\____________voice: (408) 433-4097