PDA

View Full Version : OODBMS v RDBMS



enigma_b17
22-10-03, 03:07
Just curious which database type ppl would generally go for as I was doin a research report recently for college.

OODBMS - Object Oriented Database Management System
RDBMS - Relational Database Managemet System

If you would choose to go for an OODBMS, why? Would it not be better to go for one which has been proven more stable, and has more user tools?

hinch
22-10-03, 03:11
pretty much always stick to rdmbs purely because thats all i ever have to use (sql server, mysql occationally postgresql or oracle rare though)

enigma_b17
22-10-03, 03:12
thats really what I would think, but with the advent of oo programming languages, like java, c++, c# etc would it not prove better and all over more efficient to use a db which u could integrate quicker and more efficiently?

NS_CHROME54
22-10-03, 03:19
rdbms

cause i love mysql.

it's really your call tho, relational databases have proven the best companion for server scripting languages.

enigma_b17
22-10-03, 03:21
true, but if you were using a java applet, god forbid, would u opt for an oodb or a rdb

NS_CHROME54
22-10-03, 03:27
i guess i'm not really the right person to ask, being as i'm fairly biased towards rdbms.

hinch
22-10-03, 03:29
depends really i suppose what your doing

99% of the time a relational is fine and integration into oo languages is just as good as oodb

since most major db`s can export in xml or you could for instance write a webservice to distribute xml to your apps

but its your call really the odbc and oledb connections in the .net frame work to relational db`s ie: sql server are really as fast as say opening a direct socket into the db (which from what im aware of only perl and mysql can do this sensiably)

i personally see no benefit and since the db`s you`ll come into contact with most in industry are sql server oracle db2 and sometimes sybase.mysql.postgres

Progenitor
22-10-03, 06:42
Object stores tend to be more versital and dynamic - but you pay a price in performace. Usually a heavy price, although they are making great strides.

For performance reasons, relational will be around for a long time, probably never replaced.

Of course hardware speeds, will eventually make it a no brainer and it won't matter performance wise, but for complex queries relational will still be benifitial. (IMO)

-p

Brammers
22-10-03, 12:41
Relational databases will be around for a long time yet, but what always got annoys me is writting code to turn a SELECT a.col1,1.col2,b.col1,b.col2 FROM table1 a, table2 b where a.col1=b.col2 into a nice object which you can pass to your methods as a object for the language of your chosing. Although it's not as bad as it used to be.

Now why I go for OODBMS? I've not really touched it in great depth, but I want to, as it's a challenge and something new, whether I use it as the solution to a problem, is another matter.

Rith
22-10-03, 13:01
RDBMS is still predominant simply because its been around for a while, there are a lot of them and a lot of skills for them. There isn't a compelling reason to migrate to OO, and as a result when choosing a greenfield DB technology, the lack of skills means its not an easy choice to go OO anyway.

I had expected J2EE and to a lesser extent .NET to result in the emergence of more OODBMS - the O-R mapping is expensive, it is more time consuming to implement and it is a source of errors. Even when using specialist tools like Toplink - its not a pleasant gap to bridge.

That said whats really happened is OODBs and RDBs have come closer together - Oracle being a good example.

I now expect over time the mechanism by which you interact with a DB to be more flexible - such that you can play OO or SQL - whichever suits your needs... I'm assuming this is where Oracle is going.

MS is going all goey over XML so I guess that can plug the O-R gap - pity the XML binding will add an even bigger performance hit than traditional techniques... but it will be flexible as hell

EDIT: another small point - one of the biggest drivers for using non-relational technology is for bridging the gap between structured and unstructured data in an organisation - 95% of the real infomration in most companies isn't stored in Databases - its in emails/word docs/spreadsheets/images etc etc... bridging this gap was one of the big promises of OODBs - I don't think its going to happen in quite that way anymore - SOA principles are tending to push pure OO or Relational or Scripting details to one side.