Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 136

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>RDBMS And OODBMS Application</title>
    <link rel="stylesheet" type="text/css" href="../../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>RDBMS And OODBMS Application</h1><div id="TOC"><div id="TOCinner"><span class="TOCtitle">Contents</span><div class="TOCcontents"><ul><li><a href ="#Object Oriented Development">Object Oriented Development</a></li><li><a href ="#Embedded Applications">Embedded Applications</a></li><li><a href ="#Complex Object Structures And Hierarchies">Complex Object Structures And Hierarchies</a></li><li><a href ="#Refactoring And Schema Evolution">Refactoring And Schema Evolution</a></li><li><a href ="#Agile Development">Agile Development</a></li></ul></li></ul></div></div></div>

<p>Relational data systems are proven market leaders in
persistence solutions. They are mature and reliable choice for a general
purpose solution. Moreover, RDBMS is supported by a huge number of applications
and components and a large amount of human resources experienced in the
technology.</p>

<p>However, OODBMS has some valuable advantages, which can't be
underestimated:</p>

<ul><li>native Object Oriented language support (no
object-relational impedance mismatch);</li><li>native complex object structures and hierarchies
support;</li><li>easy refactoring and product evolution;</li><li>zero-administration;</li><li>continuous regression testing.</li></ul>





<p>Some of the most obvious usecases and advantages of OODBMS
are listed below.</p>

<a name="Object Oriented Development"></a><h2>Object Oriented Development</h2>

<p>The fact that OODBMS technology is the perfect match for
using in OO development environment is obvious from the very name. Though RDBMS
has a wide support in tools and methods of using in OO environment there will
always be an overhead of the translation from the object to relational world,
commonly known as object-relational impedance mismatch.</p>

<a name="Embedded Applications"></a><h2>Embedded Applications</h2>

<p>Embedded device applications need a small-footprint
zero-administration database, which makes a perfect match with an OODBMS. In
addition, they usually need a quick response-time, which can be better achieved
by a native OO technology, when no object-relational conversion is needed.</p>
<a name="Complex Object Structures And Hierarchies"></a><h2>Complex Object Structures And Hierarchies</h2>

<p>In applications having to deal with deep object structures
(tree or graph), OODBMS offers a much easier native way to store them. Trees or
graphs cannot be easily translated to RDBMS structure, so that the application
has to deal with often complex conversion algorithms, which are difficult to
maintain and refactor. On the other hand, OODBMS can store these structures
transparently without any additional coding.</p>

<p>The same is true for difficult inter-objects relationships.
In RDBMS they are realized with foreign keys. In some cases, you will
need to
fetch object by object until you will reach the final relation. In
OODBMS all
you need is to specify an
<a href="../../../object_lifecycle/activation.html" class="wikiLink">activation depth</a> or use
<a href="../../../object_lifecycle/activation/transparent_activation_framework.html" class="wikiLink">transparent
activation</a> to reach all the related objects through the top-object
fields.</p>

<p>From the said above you can conclude that the applications
using objects with collection members (one-to-many relationships) will also
benefit from OODBMS technology.</p>
<a name="Refactoring And Schema Evolution"></a><h2>Refactoring And Schema Evolution</h2>

<p>Most applications evolve as the time goes. It means that
their class and data structure (schema) can change. In applications using
relational databases schema evolution is quite work-consuming process: the
schema must be changed, the class structure must be changed and the query
collection must be changed too. In OODBMS applications, only class structure is
a subject of change and the process can be highly automated by using modern
refactoring techniques available from IDEs.</p>
<a name="Agile Development"></a><h2>Agile Development</h2>

<p>OODBMS makes it possible to implement agile development
process in your team:</p>

<ul><li>continuous
     refactoring; </li><li>agile
     modeling; </li><li>continuous
     regression testing; </li><li>configuration
     management; </li><li>developer
     "sandboxes".</li></ul>


<p>The
use of RDBMS technology complicates the adoption of these techniques due to the
technical impedance mismatch, the cultural impedance mismatch, and the current
lack of tool support. </p>

</div>
    </div>
    <div id="footer">
					This revision (2) was last Modified 2007-06-04T17:28:38 by Tetyana.
				</div>
  </body>
</html>