OO vs Relational Database

Discussions

Performance and scalability: OO vs Relational Database

  1. OO vs Relational Database (8 messages)

    Hi,

    Can anyone with experience with an OO database like to comment on its performance? How does it compare to relational database? What about performance of an adaptor like Toplink to convert objects to relational data?

    Ben

    Threaded Messages (8)

  2. OO vs Relational Database[ Go to top ]

    There are no performance advantages in using an OO database.
  3. OO vs Relational Database[ Go to top ]

    What planet are you on?

    As with most every technical decision you make, there are tradeoffs. If your data tends to be quite complex or interrelated, an ODB can significantly improve performance. Alternatively, in a highly scaled system where there are many, many transactions, you don't have to execute a formal O-R mapping layer in order to persist your objects. Less code to execute means faster execution overall. Now, there are still objects whose data must be written to extents, similar to inserting/updating rows in tables, but it tends to be much more efficient.

    An extremely effective benefit of ODBs is reduced coding effort. By adopting the ODMG object persistence paradigm, you get nearly transparent persistence, persistence by reachability, persistent garbage collection, and required transactions. Grab the Poet eval (http://www.poet.com), or some other (http://www.objectivity.com, http://www.versant.com, or http://www.excelon.com (formerly Object Design)) and see for yourself, or visit sites like http://www.barryandassociates.com for more info.

    Sun has officially adopted the ODMG standard's Java binding (http://java.sun.com/pr/1997/june/pr970603-01.html), and has a JSR on it, JDO (http://access1.sun.com/jdo). IMHO, I expect to see some conflict between JDO and the portion of the EJB spec dealing with entity beans. Personally, I feel that entity beans are an acceptable way to encapsulate access to preexisting objects stored in relational data stores, but, if you're doing new development, ODMG or JDO is the way to go.

    Ian, yours is way too simple an answer. Think before you speak.

    --Matthew
  4. OO vs Relational Database[ Go to top ]

    I am very sorry to have to tell the true story...

    OODB may be good for a single user system or a read only system. It works fine for demosystems but fails when it comes to multiuser (concurrency) and large load. Its true that you can be productive but customers always underestimates the need for deep technical knowledge about the product. They only thing they did not miss was the part with "...40% less coding....".

    There is NO existing success story about a non trivial OLTP system that is based on OODB.

    In a delivered system with five users and a database with 500 mb data a small schema change took 17 hours to execute. The users could lock each other for hours.

    It was impossible to use and is now replaced by SQL-server and a homegrown persistence framework and works fine.


    BUT
    If you only have one user
    If you have a very complex schema (object model)
    If you dont demand 365x24 uptime
    If you only do readonly operations
    If you dont have to interact with legacy systems
    If you dont have users that wants to "use query tools"
    If you want to be true OO beliver...

    Then it can be an alternative....



  5. OO vs Relational Database[ Go to top ]

    Lars,

    you wrote, There is NO existing success story about a non trivial OLTP system that is based on OODB.

    I beg to differ. I personally know of many successes uing OODB in high volume multi-user environments. One project that had some limited involvment in supported both clerks in several offices and drivers (via wireless devices) out in the field.

    Kirk
  6. OO vs Relational Database[ Go to top ]

    From an ODB vendor, I would say that yes there are some very significant ODB implementations out there in the real world. Flying with the main transatlantic and Australasian airlines will have brought you in to contact with them. Many telcos use them for Network management they're being used to solve some of the worlds most complex problems.

    The difficulty we have is working with people and organisations that have very one track opinions regarding data storage. What many seem to miss is that Java is OO and not relational. This brings us back to the first point regarding performance. An OO application that is in any way considered to be mildly complex, WILL run faster with an ODB. Like the first reply said, pick them up and kick them around. Also, from a developers standpoint they are so easy to develop against - NO MAPPING and no translation of your business model.

    So Ian, I guess you work for a relational database company or your test involved a simple model or maybe a beefed up RDB server. And lars, you must have backed the wrong horse because we have customers with many thousands of concurrent users.

    One word of warning though. ODB's are not a silver bullit. You can build a bad application just as well with an ODB. As Sun professes with their blueprints and patterns, get the model right and then get the transaction model right. Then you'll have an app that works, works fast is maintainable, compact and scalable.
  7. OO vs Relational Database[ Go to top ]

    Oh and I forgot. We have customers with tera bytes of data, 500mb is an insult!!!
  8. OO vs Relational[ Go to top ]

    Dear all
    I am Jude ,a member of serverside group.
    I find this group very useful and I get a lot of
    info.
    I am doing a research now comparing OODBMS and RDBMS.
    I need some datas to exactly prove the advantages of
    OODBMS over RDBMS.
    Kindly reply me as soon as possibe.
    I need issues like reusability, performance,cost
    benefits, modularity,scalability etc.
    I am not doing a survey. I wud run a analysis from
    your replies.
    I need to use some methodologies too.
    Thanking you all in advance.
    Thanking you

    Jude.
  9. OO vs Relational[ Go to top ]

    Dear all
    I am Jude ,a member of serverside group.
    I find this group very useful and I get a lot of
    info.
    I am doing a research now comparing OODBMS and RDBMS.
    I need some datas to exactly prove the advantages of
    OODBMS over RDBMS.
    Kindly reply me as soon as possibe.
    I need issues like reusability, performance,cost
    benefits, modularity,scalability etc.
    I am not doing a survey. I wud run a analysis from
    your replies.
    I need to use some methodologies too.
    Thanking you all in advance.
    Thanking you

    Jude.
    Can you send me your e-mail because I work on this subject too, so we can change information?! My email is konj_p at yahoo dot com.
    Thank you!