Re: I think that relational DBs are dead. See link to my article inside

From: Josip Almasi <joe_at_vrspace.org>
Date: Mon, 10 Jul 2006 15:01:11 +0200
Message-ID: <e8tj2j$pp2$1_at_ss408.t-com.hr>


Ed Prochak wrote:
>
> Consider a simple query. let's say the database is for real estate. You
> have objects for cities and homes. How about counting how many homes
> colored grey in each city?

But what do you think how RDBMS does the trick? It uses hierarchies (indexes) to fetch the data, then performs intersection (on indexes if possible), then count. OODB should do the same or alike.
If query language is what bothers you, imagine some OO SQL... i.e. HQL;) Yeah really, check HQL:
http://www.hibernate.org/hib_docs/v3/reference/en/html/queryhql.html

> But Dmitry is claiming network Model. At least he hasn't objected to my
> calling his DB that and he has used the term himself.

Sure, these are my notes based on my OR mapping experience. I believe we get much alike stiuation in... well, ON mapping:) One can view such a network as separate trees: inheritance tree, member tree, package tree... these trees do overlap and form a network; however, pathfinding isn't general directed graph, it's tree.

> but I note you build upon a RDBMS. leading me to think you agree that
> the premise of this thread is false, even in the long term.

Well then, let me elaborate:)
RDBMS are good for OLTP, as they maintain referential integrity etc. But normalization screws reporting.
So we got data warehousing DBMS that have nothing to do with relational model, don't have transactions, don't bother with integrity etc etc, all to get reporting better.
(BTW your real estate example in hypercubes goes like this: pronounce city one dimension and color second dimension and run count.)

As for the purpose of application state persistence, they both suck, and OODB will rock.
For OO apps that is. Most apps in OO languages are built on top of ER model, cuz kids learn that in school:)

Now, I cannot honestly say that RDBMS are dead, as long as two of the richest men on earth make their money from them, and push their money into them. It's not much of a technical reason as you see;) But one can't make OODB that would work in clusters without some serious $$$. So for the time being, RDBMS will remain along.

WRT technical reasons... OK I'll give you an example. I do use RDBMS for storage but the way I use it I could use dBase too. I don't need referential integrity or cascades, since OO model takes care of it.
As for transactions logs, checkpoints, rollback, rollforward, isolation levels and other RDBMS buzzwords, it took me 5 hours to write these in 125 lines of code:
http://vrspace.cvs.sourceforge.net/vrspace/vrspace/src/main/org/vrspace/server/Transaction.java?revision=1.2&view=markup This isn't production code, in fact I've never even tried it, as I never needed it.
But my point is it gets much more simpler with OOP. And it's not about object model vs relational model; it's _event_ model(s) that we get with OO languages that make things easier.

Regards... Received on Mon Jul 10 2006 - 15:01:11 CEST

Original text of this message