Re: Database type independence

From: Dagfinn Reiersol (reiersol_at_online.no)
Date: 08/23/04


Date: Mon, 23 Aug 2004 08:37:12 +0200

Fredrik Bertilsson wrote:
> Many OO evengalists argue very hard for making the persistance layer
> independent of the database type (RDB, OODB, LDAP, etc). They want to
> be able to change the database from a RDB to an OODB without changing
> the business logic.
>
> But the cost for doing this is very high.

I don't think that's necessarily the case. In my experience, once you've
made a persistence layer that's independent of SQL, the interface
naturally tends to be independent of database type as well.

>The developer is forced to
> implement (or configure) an extra transformation/mapping layer. The
> persistance frameworks becomes unnecessary complex. This requirement
> about database type independance is one of the main reasons that EJB
> is so very complex. Besides, data-aware components are not possible to
> use because of this requirement.
>
> My question is, is it really worth the cost to make the architecture
> independant of database type. On the software market, there are a huge
> demand for relational database vendor independant applications. Most
> customers want to be able to run the applications they buy on their
> favorite dbms system like Oracle, SQL Server, MySQL etc. But how many
> customers want the application to be able to run on their OODB? I have
> never heard about it anyway.
>
> Relational databases have proven to be the superior database type.
> They have almost 100% percent market share and this fact does not seem
> to change in the near future. In fact relational databases is more
> likely to live longer than most programming languages used today
> (Java, C#, C++, PHP, VB etc). There have been numerous examples of
> applications changing programming languages (from Cobol and Fortran to
> Java or VB/C#) and the database remains the same. But the examples of
> changing database type and keeping the application the same is
> extremely few.
>
> Is it really reasonable to invest money in a feature (database type
> independence) that in almost no cases are needed? I think that if IT
> managers really knew that when they are investing in mainstream OO
> architecture, they are also spending money on things they will never
> need, they would make different decisions.
>
> It would be interesting if it is someone out there that actually uses
> something else but relational databases for persistance? And in that
> case, what type of applications and what database vendor. It would be
> even more interesting to know if someone actually have changed from
> relational database to OO database (or something else), whithout
> having to rewrite the business logic.
>
> /Fredrik



Relevant Pages

  • Re: Database type independence
    ... > independent of the database type. ... > about database type independance is one of the main reasons that EJB ... > demand for relational database vendor independant applications. ... > Relational databases have proven to be the superior database type. ...
    (comp.object)
  • Database type independence
    ... independent of the database type (RDB, OODB, LDAP, etc). ... about database type independance is one of the main reasons that EJB ... Relational databases have proven to be the superior database type. ...
    (comp.object)
  • Re: Database type independence
    ... > independent of the database type (RDB, OODB, LDAP, etc). ... > about database type independance is one of the main reasons that EJB ... When you have a persistence layer, ...
    (comp.object)
  • Re: Database type independence
    ... > independent of the database type (RDB, OODB, LDAP, etc). ... > implement an extra transformation/mapping layer. ... > about database type independance is one of the main reasons that EJB ...
    (comp.object)
  • Re: Object-oriented thinking in SQL context?
    ... Relational databases are all ... I contrasted the OO way of thinking with the SQL way ... MS Access integrated application building with database building, ...  Desktop database work is very different from enterprise ...
    (comp.databases.theory)