Performance investigation into selected object persistence stores

Show simple item record

dc.contributor.advisor Kourie, Derrick G. en
dc.contributor.coadvisor Boake, Andrew B. en
dc.contributor.postgraduate Van Zyl, Pieter en
dc.date.accessioned 2013-09-07T06:15:37Z
dc.date.available 2010-07-21 en
dc.date.available 2013-09-07T06:15:37Z
dc.date.created 2010-04-12 en
dc.date.issued 2010-07-21 en
dc.date.submitted 2010-07-21 en
dc.description Dissertation (MSc)--University of Pretoria, 2010. en
dc.description.abstract The current popular, distributed, n-tiered, object-oriented application architecture pro- vokes many design debates. Designs of such applications are often divided into logical layer (or tiers) - usually user interface, business logic and domain object (or data) layer, 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 their relational form. Most often, depending on the perceived profile of the application, software architects make these decisions using rules of thumb derived from particular experience or the design patterns literature. Although helpful, these rules are often highly context-dependent and are of- ten 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 understand more clearly the implications of design decisions concerning persistence. This study provides some results to help guide the architect's decisions. The study investigated and focused on the <i.performance of object persistence and com- pared ORM tools to object databases. ORM tools provide an extra layer between the business logic layer and the data layer. This study began with the hypothesis that this extra layer and mapping that happens at that point, slows down the performance of object persistence. The aim was to investigate the influence of this extra layer against the use of object databases that remove the need for this extra mapping layer. The study also investigated the impact of certain optimisation techniques on performance. A benchmark was used to compare ORM tools to object databases. The benchmark provided criteria that were used to compare them with each other. The particular benchmark chosen for this study was OO7, widely used to comprehensively test object persistence performance. Part of the study was to investigate the OO7 benchmark in greater detail to get a clearer understanding of the OO7 benchmark code and inside workings thereof. Included in this study was a comparison of the performance of an open source object database, db4o, against a proprietary object database, Versant. These representatives of object databases were compared against one another as well as against Hibernate, a popular open source representative of the ORM stable. It is important to note that these applications were initially used in their default modes (out of the box). Later some optimisation techniques were incorporated into the study, based on feedback obtained from the application developers. There is a common perception that an extra layer as introduced by Hibernate nega- tively impacts on performance. This study showed that such a layer has minimal impact on the performance. With the use of caching and other optimisation techniques, Hibernate compared well against object databases. Versant, a proprietary object database, was faster than Hibernate and the db4o open source object database. Copyright en
dc.description.availability unrestricted en
dc.description.department Computer Science en
dc.identifier.citation Van Zyl, P 2010, Performance investigation into selected object persistence stores, MSc dissertation, University of Pretoria, Pretoria, viewed yymmdd < http://hdl.handle.net/2263/26497 > en
dc.identifier.other E10/465/gm en
dc.identifier.upetdurl http://upetd.up.ac.za/thesis/available/etd-07212010-161851/ en
dc.identifier.uri http://hdl.handle.net/2263/26497
dc.language.iso en
dc.publisher University of Pretoria en_ZA
dc.rights © 2010, University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria. en
dc.subject Performance en
dc.subject Relational database management systems en
dc.subject Object relation mapping en
dc.subject Persistence en
dc.subject O-r or orm en
dc.subject Hibernate en
dc.subject Optimisation techniques en
dc.subject Cache en
dc.subject Lazy loading en
dc.subject Eager loading en
dc.subject Object oriented database management systems en
dc.subject Benchmark en
dc.subject Odbms en
dc.subject Rdbms en
dc.subject UCTD en_US
dc.title Performance investigation into selected object persistence stores en
dc.type Dissertation en


Files in this item

This item appears in the following Collection(s)

Show simple item record