[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Architecture/design questions



Am Dienstag,  6. März 2001 21:19 schrieb P C:

> 1. Does Ozone use Java serialization behind the
> scenes? I heard somewhere that serialization will not
> offer good performance. I've read other messages that
> were archived and it seems like it scaled and
> performed well. So how does Ozone get around it.

Yes, Ozone does use serialization. Serialization is a technique and not a 
performance issue. The job you have to do is coding and decoding arbitrary 
objects via a network connection. This can be done fast - e.g. be compressing 
large objects, using more bandwidth, faster disk i/o. etc.

If you can think of other techniques to store objects, there are some 
alternatives. In Oracle you have "stored procedures" to perform critical 
tasks. This is a workaround because serialization in Oracle would be slow.

> 2. I also read somewhere that you could very easily
> get into performance issues with OODB systems. One of
> the possible reasons that I could think of are,
> trying to store and retrieve objects with complex
> graphs( I mean too many nested objects ). So is there
> a "best practices guide" or something like that, that
> I could use to not get into trouble? Are there any
> other factors that could result in poor performance?

Nested objects can be stored with Ozone at once in a table, or each nesting 
level (down to the leaf level in a graph) can be stored separately. It is up 
to the programmer what is best. This is known as the choice of granularity. 
If you choose fine granularity, each node in a graph could be stored 
separately, and you will gain the most flexibility, but it will be expensive. 
With each read or write, you will need to perform a single database 
transaction. In large graphs, this will lead to poor performance, but this is 
expected - and can be avoided.

> 3. Is there a comparision between OODBMS and RDBMS
> hardware resource ( memory & CPU mainly ) consumption?

Such a comparison is not easy, because the behavior of the 
application code will be so much different. Remember that RDBMS are 
data-centric and operate on columns in tables, while OODBMS are 
object-centric. There are some OODBMS benchmarks like the OO1 or OO7 
benchmark which are included in Ozone as examples. If you have implemented 
the same task using a RDBMS approach and an OODMBS approach, you could tune 
the performance in both implementations differently (just think of the 
object-to-relational mapping issues for RDBMS), but then you could profile 
the implementations and get a result for yourself. The result will depend 
strongly on your requirements.

> Can somebody suggest me a good online resource that I
> could use to acquainted with OODBMS concepts?

Sorry can't help you, I haven't found a good one either.

Jörg

-- 
Jörg Prante
Sevenval AG (HRB 32757) e-business marketing technologies
D-50667 Köln . Alter Markt 36-42
Fon +49 221 65007-0 . Fax 4249891
http://www.sevenval.de . joerg@7val.com