<html> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Data Persistence</title> <link rel="stylesheet" type="text/css" href="../../style.css"> </head> <body> <div class="CommonContent"> <div class="CommonContentArea"> <h1>Data Persistence</h1><p>Software programs using different data persistence technologies are an integral part of contemporary informational space. More than often such systems are implemented with the help of object-oriented programming language (Java, c#, etc.) and a relational database management system (Oracle, MySQL, etc.). This implementation originally contains a mismatch between relational and object worlds, which is often called "object/relational impedance mismatch" (OR mismatch shortly). The essence of the problem is in the way the systems are designed. Object systems consist of objects and are characterized by identity, state, behavior, encapsulation. The relational model consists of tables, columns, rows and foreign keys and is described by relation, attribute, tuple, relation value and relation variable.</p> <p>The object-relational mismatch has become enormously significant with the total adoption of OO technology. This resulted in the rapid development of so-called object-relational mappers (ORM), such as Hibernate or Toplink. This solution "cures" the symptoms of the OR mismatch by adding a layer into the software stack that automates the tedious task of linking objects to tables. However, this approach creates a huge drain on system performance, drives up software complexity, and increases the burden on software maintenance, thus resulting in higher cost of ownership. While the mapper solution may be feasible in large, administered datacenter environments, it is prohibitive in distributed and zero-administration architectures such as those required for embedded databases in client software, mobile devices, middleware or real-time systems.</p> </div> </div> <div id="footer"> This revision (1) was last Modified 2007-05-03T10:50:02 by Tetyana. </div> </body> </html>