Van Zyl, PKourie, DGBoake, A2007-07-052007-07-052006-10Van Zyl, P, Kourie, DG and Boake, A. 2006. Comparing the Performance of Object Databases and ORM Tools. Proceedings of the 2006 annual research conference of the South African Institute of Computer Scientists and Information Technologists, Pretoria, South Africa, October 2006, pp 111-59593-567-3http://hdl.handle.net/10204/984http://portal.acm.org/citation.cfm?id=1216263The 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.enPersistencePerformanceBenchmarkObject oriented database management systemsODBMSObject –relation mappingO-RORMHibernateDb4oComparing the Performance of Object Databases and ORM ToolsConference PresentationVan Zyl, P., Kourie, D., & Boake, A. (2006). Comparing the Performance of Object Databases and ORM Tools. South African Institute for Computer Scientists and Information Technologists. http://hdl.handle.net/10204/984Van Zyl, P, DG Kourie, and A Boake. "Comparing the Performance of Object Databases and ORM Tools." (2006): http://hdl.handle.net/10204/984Van Zyl P, Kourie D, Boake A, Comparing the Performance of Object Databases and ORM Tools; South African Institute for Computer Scientists and Information Technologists; 2006. http://hdl.handle.net/10204/984 .TY - Conference Presentation AU - Van Zyl, P AU - Kourie, DG AU - Boake, A AB - 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. DA - 2006-10 DB - ResearchSpace DP - CSIR KW - Persistence KW - Performance KW - Benchmark KW - Object oriented database management systems KW - ODBMS KW - Object –relation mapping KW - O-R KW - ORM KW - Hibernate KW - Db4o LK - https://researchspace.csir.co.za PY - 2006 SM - 1-59593-567-3 T1 - Comparing the Performance of Object Databases and ORM Tools TI - Comparing the Performance of Object Databases and ORM Tools UR - http://hdl.handle.net/10204/984 ER -