EDBT '90 Proceedings of the 2nd international conference on extending database technology: Advances in Database Technology
ACM Transactions on Database Systems (TODS)
Fundamentals of database systems (2nd ed.)
Fundamentals of database systems (2nd ed.)
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
A status report on the OO7 OODBMS benchmarking effort
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Building object applications that work: your step-by-step handbook for developing robust systems with object technology
The object data standard: ODMG 3.0
The object data standard: ODMG 3.0
Object Data Management: Object-Oriented and Extended
Object Data Management: Object-Oriented and Extended
A comparative study of persistence mechanisms for the Java™ platform
A comparative study of persistence mechanisms for the Java™ platform
The influence of optimisations on the performance of an object relational mapping tool
Proceedings of the 2009 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists
Object-relational mapping with SqueakSave
IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
A comparative study of the features and performance of ORM tools in a .NET environment
ICOODB'10 Proceedings of the Third international conference on Objects and databases
BNCOD'10 Proceedings of the 27th British national conference on Data Security and Security Data
Hi-index | 0.00 |
The currently popular distributed, n-tiered, object-oriented application architecture provokes many design debates. Designs of such applications are often divided into logical 'tiers' -- usually user interface, business logic and domain object, or data, tiers, each with their own design issues. In particular, the latter contains data that needs to be stored and retrieved from permanent storage. Decisions need to be made as to the most appropriate way of doing this -- the choices are usually whether to use an object database, to communicate directly with a relational database, or to use object-relational mapping (ORM) tools to allow objects to be translated to and from relational form.Most often, depending on the perceived profile of the application, architects make these decisions using rules of thumb derived from particular experience or the design patterns literature. Examples include: object-oriented databases ease programming, relational databases ease report generation and data mining; object-oriented databases are good for navigation around an object model, relational databases are good for sequential processing and complex queries; if you are writing an application from scratch, use an object database, if you need to integrate to various sources of legacy data, use an ORM tool. Although helpful, these rules are often highly context-dependent and are often misapplied.Research into the nature and magnitude of 'design forces' in this area has resulted in a series of benchmarks, intended to allow architects to more clearly understand the implications of design decisions concerning object persistence. In this paper, the performance of selected open source object persistence tools is investigated, to attempt to clarify the myths surrounding the performance of the different options. In particular, we compare Hibernate, representative of the ORM stable, and db4o, representative of object-oriented databases. The OO7 benchmark is used to compare the speed of execution of a suite of typical persistence-related operations in both candidates. We then propose some preliminary explanations of the sometimes surprising results.