Performance investigation into selected object persistence stores

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 iss...

Full description

Bibliographic Details
Main Author: Van Zyl, Pieter
Other Authors: Prof D G Kourie
Published: 2013
Subjects:
Online Access:http://hdl.handle.net/2263/26497
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 >
http://upetd.up.ac.za/thesis/available/etd-07212010-161851/
id ndltd-netd.ac.za-oai-union.ndltd.org-up-oai-repository.up.ac.za-2263-26497
record_format oai_dc
collection NDLTD
sources NDLTD
topic Performance
Relational database management systems
Object relation mapping
Persistence
O-r or orm
Hibernate
Optimisation techniques
Cache
Lazy loading
Eager loading
Object oriented database management systems
Benchmark
Odbms
Rdbms
UCTD
spellingShingle Performance
Relational database management systems
Object relation mapping
Persistence
O-r or orm
Hibernate
Optimisation techniques
Cache
Lazy loading
Eager loading
Object oriented database management systems
Benchmark
Odbms
Rdbms
UCTD
Van Zyl, Pieter
Performance investigation into selected object persistence stores
description 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 === Dissertation (MSc)--University of Pretoria, 2010. === Computer Science === unrestricted
author2 Prof D G Kourie
author_facet Prof D G Kourie
Van Zyl, Pieter
author Van Zyl, Pieter
author_sort Van Zyl, Pieter
title Performance investigation into selected object persistence stores
title_short Performance investigation into selected object persistence stores
title_full Performance investigation into selected object persistence stores
title_fullStr Performance investigation into selected object persistence stores
title_full_unstemmed Performance investigation into selected object persistence stores
title_sort performance investigation into selected object persistence stores
publishDate 2013
url http://hdl.handle.net/2263/26497
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 >
http://upetd.up.ac.za/thesis/available/etd-07212010-161851/
work_keys_str_mv AT vanzylpieter performanceinvestigationintoselectedobjectpersistencestores
_version_ 1718498281144713216
spelling ndltd-netd.ac.za-oai-union.ndltd.org-up-oai-repository.up.ac.za-2263-264972017-07-20T04:11:04Z Performance investigation into selected object persistence stores Van Zyl, Pieter Prof D G Kourie pvz1976@gmail.com Dr A Boake Performance Relational database management systems Object relation mapping Persistence O-r or orm Hibernate Optimisation techniques Cache Lazy loading Eager loading Object oriented database management systems Benchmark Odbms Rdbms UCTD 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 Dissertation (MSc)--University of Pretoria, 2010. Computer Science unrestricted 2013-09-07T06:15:37Z 2010-07-21 2013-09-07T06:15:37Z 2010-04-12 2010-07-21 2010-07-21 Dissertation http://hdl.handle.net/2263/26497 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 > E10/465/gm http://upetd.up.ac.za/thesis/available/etd-07212010-161851/ © 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.