Object-Relational Mapping Revisited - A Quantitative Study on the Impact of Database Technology on O/R Mapping Strategies

Object-oriented applications often achieve persistence by using relational database systems. In such setup, objectrelational mapping is used to link objects to tables. Due to fundamental differences between object-orientation and relational algebra, the definition of a mapping is a considerably difficult task. Today, there are only informal guidelines that support engineers in choosing the best mapping strategy. However, guidelines do not provide a quantification of actual impact and trade-off between different strategies. Thus, the decision on which mapping strategy should be implemented relies on a large portion of gut feeling. In this paper, we propose a framework and conduct a quantitative study of the impact of object-relational mapping strategies on selected non-functional system characteristics. Our study creates awareness for consequences of using different mapping designs and persistence technologies. This allows developers to make distinctive and informed decisions, based on quantified results rather than gut feeling.

[1]  David J. DeWitt,et al.  The oo7 Benchmark , 1993, SIGMOD Conference.

[2]  Gio Wiederhold,et al.  Complex objects for relational databases , 1990, Comput. Aided Des..

[3]  Luca Cabibbo,et al.  Managing Inheritance Hierarchies in Object/Relational Mapping Tools , 2005, CAiSE.

[4]  Wolfgang Keller Mapping Objects to Tables A Pattern Language , 1997 .

[5]  Scott Ambler,et al.  Agile Database Techniques: Effective Strategies for the Agile Software Developer , 2003 .

[6]  Michael Stonebraker,et al.  "One size fits all": an idea whose time has come and gone , 2018, Making Databases Work.

[7]  David J. DeWitt,et al.  The BUCKY object-relational benchmark , 1997, SIGMOD '97.

[8]  David J. DeWitt,et al.  Of Objects and Databases: A Decade of Turmoil , 1996, VLDB.

[9]  David J. DeWitt,et al.  A status report on the OO7 OODBMS benchmarking effort , 1994, OOPSLA '94.

[10]  Daniel J. Abadi,et al.  Column-stores vs. row-stores: how different are they really? , 2008, SIGMOD Conference.

[11]  Stephan Philippi,et al.  Model driven generation and testing of object-relational mappings , 2005, J. Syst. Softw..

[12]  Arthur M. Keller,et al.  Persistence software: bridging object-oriented programming and relational databases , 1993, SIGMOD '93.

[13]  Craig Russell Bridging the Object-Relational Divide , 2008, ACM Queue.

[14]  Wolfgang Lehner,et al.  SAP HANA: The Evolution from a Modern Main-Memory Data Platform to an Enterprise Application Platform , 2013, Proc. VLDB Endow..

[15]  Alexander Zeier,et al.  Enterprise Application-Specific Data Management , 2010, 2010 14th IEEE International Enterprise Distributed Object Computing Conference.

[16]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[17]  Robert Feldt,et al.  Validity Threats in Empirical Software Engineering Research - An Initial Survey , 2010, SEKE.