OODBMS Comparison

Comparison of Object Oriented Database Systems

By

Ali Barfatani: Poet & GemStone sections

David Buchanan: Versant section & Conclusion

Matthew Buchanan: Objectivity & ObjectStore Sections

Mark Downing: Jasmine section & Introduction

Napier University, Edinburgh


Table of Contents

1.0 Abstract 4

1.1 Purpose 4

1.2 Methods 4

1.3 Objectives 4

1.4 Discussion 4

2.0 Introduction 5

3.0 Literature review 6

3.1 Comparison of Four ooDBMS, Peter Kueng, Institute of Friboug Rue Faucigny 2, Switzerland. 6

3.2 Object Database, An ODMG Approach, Richard Cooper. 6

3.3 The Jasmine Object Database Multimedia Applications For The Web, Setrag Khoshafian, Surapol Dasananda, Norayr Minassian 7

3.4 Object-Oriented Database Systems, Elise Bertino, Lorenzo Martino 7

3.5 Jasmine Object Database web site 7

3.6 Evaluation of Object-Oriented Database Systems, C. Huemer, G. Kappel, S. Rausch-Shott, W. Retzschitzegger, A Min Tjoa, S. Vieweg, R. Wagner 8

3.7 ObjectStore Technical Overview 8

3.8 Objectivity/DB Technical Overview 9

3.9 Database Management Systems: Relational, Object-Relational, and Object-Oriented Data Models, L. Bergholt, J. Steen Due, T. Hohn, J. Lindskov Knudsen, K. Hjerrild Nielsen, T. Sonne Olesen, E. Hahn Pedersen 9

3.10 The Jasmine Object Database Multimedia Applications For The Web, Setrag Khoshafian, Surapol Dasananda, Norayr Minassian 9

4.0 Versant Version 6.0 10

4.1 Background 10

4.2 Architecture 10

4.3 Recovery 10

4.4 Concurrency 10

4.5 Schema Evolution 11

4.6 Versioning 11

4.7 Programming Languages 11

4.8 Persistence 11

4.9 Tools 11

4.10 Query Support 11

4.11 Legacy Support 12

4.12 Platform Support 12

5.0 Jasmine 12

5.1 Background 12

5.2 Architecture 12

5.3 Recovery 13

5.4 Concurrency 13

5.5 Schema Evolution 13

5.6 Versioning 13

5.7 Programming Languages 14

5.8 Persistence 14

5.9 Tools 14

5.10 Query Support 14

5.11 Platform Support 15

6.0 GemStone 15

6.1 Background 15

6.2 Architecture 15

6.3 Recovery 16

6.4 Concurrency 16

6.5 Schema Evolution 16

6.6 Versioning 17

6.7 Programming Languages 17

6.8 Persistence 17

6.9 Tools 17

6.10 Query Support 18

6.11 Platform Support 18

7.0 POET/FastObjects 18

7.1 Background 18

7.2 Architecture 18

7.3 Recovery 19

7.4 Concurrency 19

7.5 Schema Evolution 19

7.6 Versioning 19

7.7 Programming Languages 19

7.8 Persistence 19

7.9 Tools 19

7.10 Query Language Support 20

7.11 Platform Support 20

8.0 Objectivity/DB 20

8.1 Background 20

8.2 Architecture 21

8.3 Recovery 21

8.4 Concurrency 21

8.5 Schema Evolution 21

8.6 Versioning 22

8.7 Programming Languages 22

8.8 Persistence 22

8.9 Tools 22

8.10 Query Support 23

8.11 Legacy Support 23

8.12 Platform Support 23

9.0 Objectstore 24

9.1 Background 24

9.2 Architecture 24

9.3 Recovery 24

9.4 Concurrency 24

9.5 Schema Evolution 24

9.6 Versioning 24

9.7 Programming Languages & Interfaces 25

9.8 Persistence 25

9.9 Tools 25

9.10 Query Support 25

9.11 Legacy Support 25

9.12 Platform Support 25

10.0 Resources 26

11.0 Conclusion 26

12.0 Bibliography 28

12.1 Reference Titles 28

12.2 Web Resources 28


1.0 Abstract

1.1 Purpose

The aim of this study was to determine the features of an OODBS with respect to the Object Database Management Group (ODMG) specifications and compare and contrast the functionality of the features within current Object Oriented Database Systems.

1.2 Methods

We initially performed a literature review of available journals, articles, web resources and reference books. We then compiled a list of thirty-five OODB systems of which we selected six systems to compare based upon their market share, their current availability and Vendor support. The systems selected were Gemstone, Poet, ObjectStore, Objectivity/DB, Jasmine and Versant. We then compiled a list of criteria, which we applied to each database in turn.

1.3 Objectives

1. Gather and distinguish relevant information by performing a comprehensive literature review.

2. Consolidate the information to establish which systems are available today and distinguish systems that are no longer supported.

3. Select the systems for comparison.

4. Produce a list of criteria to compare the systems against.

5. Apply our selected criteria against each of the selected systems to produce a report that will highlight the particular features of each individual system.

6. Provide a reliable up to date resource to develop a presentation for the OODB module.

7. Further develop our understanding of OODBMS products and vendors.

1.4 Discussion

Each of the systems analysed within this report implement the functionality set out within the ODMG specifications. Each system however implements the specifications differently and incorporate enhanced features depending on the market the products are aimed at.

2.0 Abstract

2.1 Purpose

The aim of this study was to compare and contrast current Object Oriented Database Systems.

2.2 Methods

We initially performed a literature review of available journals, articles, web resources and reference books. We then compiled a list of thirty-five OODB systems of which we selected six systems to compare based upon their market share, their current availability and Vendor support. The systems selected were Gemstone, Poet, ObjectStore, Objectivity/DB, Jasmine and Versant. We then compiled a list of criteria, which we applied to each database in turn.

2.3 Objectives

1. Gather and distinguish relevant information by performing a comprehensive literature review.

2. Consolidate the information to establish which systems are available today and distinguish systems that are no longer supported.

3. Select the systems for comparison.

4. Produce a list of criteria to compare the systems against.

5. Apply our selected criteria against each of the selected systems to produce a report that will highlight the particular features of each individual system.

6. Provide a reliable up to date resource to develop a presentation for the OODB module.

7. Further develop our understanding of OODBMS products and vendors.


3.0 Introduction

We selected six databases from a list of thirty-five systems that we compiled through our literature review. To select the systems for the comparison we initially used market share to distinguish the most popular products. However after further analysis we discovered two of the systems o2 and ITICASA are no longer supported by vendors and have become discontinued. For this reason we introduced two further criteria: vendor support and availability of the system.



Of the six systems featured Gemstone was the first to appear in 1987. Gemstone was one of the first stages of Object Oriented Database Management System (OODBMS). The early versions of OODBMS were created to support a persistent language and were used on standalone systems. They were based on proprietary language and did not use an industrial standard platform.

1989 saw the emergence of the second stage of development in OODBMS with databases such as Objectivity, which was developed in 1988 along with Versant. The second stage in the development saw the use of client server architecture and joint platforms: C++, X Windows and Unix workstations.

August 1990 saw the third major stage in the development of OODBMS such as Versant and Poet. These OODBMS were defined as Database Management Systems (DBMS), which supported advanced characteristics such as version support and had a Data Definition Language/Data Manipulation Language that was object orientated and computationally complete. Since the late 1990s Versant have shifted the product focus towards the object orientated database system providing a tightly integrated e-commerce solution. Jasmine appeared in 1997 with all of the major functionality expected of an OODB as it moved from a research system to a commercial system.

The ODMG Group has effectively become the international standard for Object Orientated Database Systems. The members are responsible for setting the direction of Object Orientated Database Management Systems, such as specifying the object query language and the object definition language. Out of the companies that we are investigating the following companies are members.

· Poet Software Corporation

· Objectivity .Inc

· Reviewer Members

· Computer Associates

· Versant Corporation

After selecting our systems. We used the resources we had compiled to select a list of criteria to use as our basis of comparison between the systems. The criteria selected were:

· Architecture / Schema

· Recovery

· Concurrency

· Persistence

· Schema Evolution

· Versioning

· Programming Languages

· Support Tools

· Query Support

· Legacy Support

· Platform Support

4.0 Literature review

4.1 Comparison of Four ooDBMS, Peter Kueng, Institute of Friboug Rue Faucigny 2, Switzerland.

This article was an update on a previous paper (Comparison of ten ooDBMS) by the same author and is in fact two papers that compare eight OODBMS. The comparisons were very informative and helped us choose some of our criteria for our comparisons. The paper, however, was published in 1997 and is now dated. Noticeably o2 was included in the comparison; this product is no longer available, and other systems such as Versant had progressed to newer versions resulting in the actual technical content being unreliable.

4.2 Object Database, An ODMG Approach, Richard Cooper.

Chapter 16, A Survey of other OODBMS products, provided us with information regarding the OODBMS vendors who were contributing to the Object Database Management Group at the time of publishing. The author provided information regarding the different approaches of vendors and the technical differences between their products. This resource helped us to develop a template for our comparisons. The book however published in 1997 was out of date. The author focussed heavily on o2 and the actual systems compared have progressed over the last five years making some of the technical content unreliable.

4.3 Object-Oriented Database Systems, Elise Bertino, Lorenzo Martino

This book was published in 1993. One of biggest limitations of this book is its age. The comparisons the book provides are brief and not very in-depth, and many of the systems compared are no longer around. The other section of the book that did not focus on fundamental explanations object orientated terminology briefly explained the object orientated database historical background. However, we found the authors use of generations confusing, as shown in the following reference:

‘The first third generation products, Itasca, was lunched in August 1990, only a few months after the second generation OODBMS.’

This reference is taken from the book, Object-Oriented Database Systems written by Elosa Bertino and Lorenze Martine from Chapter 1 Section 1.5, titled A look at the Past, page 9, 3rd paragraph.

This section misinterpreted the use of generations to stand for Generation Languages such as 4GL. Apart from that we found it an interesting overview on the historical development of Object Orientated Databases. The biggest criticism of the book is that it only provides a brief overview of the subject.

4.4 Jasmine Object Database web site

URL: http://www3.ca.com/Solutions/ProductOption.asp?ID=3008

This web address above was the only location on the Computer Associates website where Jasmine Database information was available form. We would initially expect that that the Computer Associates website to have been more in depth and to have a detailed information covering all aspects of the Jasmine database. The product offered section of the website led us to the databse product description. The document provides a brief business oriented description of some of the database’s features, however, it shows the Jasmine database in a positive light with no critical comparison with other existing object orientated database. In our opinion it would have been of greater interest if they had explained in further detail. The follow bullet point is referenced from the second page at the bottom of the column on the left hand side.

Administrative Tools: Full backup and recovery services are provided; these can run off-line or while the database is operating. The Browser includes graphical screens that simplify data administration tasks

The reference above is an example of the level of detail in the product description.

4.5 Evaluation of Object-Oriented Database Systems, C. Huemer, G. Kappel, S. Rausch-Shott, W. Retzschitzegger, A Min Tjoa, S. Vieweg, R. Wagner

This paper, published in 1994, provides a framework for evaluating OODBS’s. The aim of the paper is to provide an evaluation catalogue, with 20 sections, each with about 25 sub criteria, resulting in over 500 questions, although the catalogue is not included in the paper. However, for the purposes of this report, the paper was a good starting point for defining the criteria that we used for the comparison, which we derived from the 20 sections provided in the paper.

The paper assumes a certain amount of knowledge from the reader, and so doesn’t go into much detail of the meaning behind many of the criteria. Instead, it highlights the relevancy of each criterion, for example:

Query Optimization addresses the efficient execution of queries. Our investigations in this section mainly focus on the use of the above mentioned features (indexes, clustering) as well as the management of the query optimizer (tuning and interrogating).

While the first part of the paper was relevant to this report, it should be said that 21 out of its 26 pages were dedicated to methods for benchmarking OODB’s, an area that is far beyond the scope of this report. However, we found the paper to be a helpful and informative source of information on the process of evaluating an OODBS.

4.6 ObjectStore Technical Overview

This is a technical manual providing an overview of the features of ObjectStore. It was created in 1997, but according to the developers, there have been no major enhancements in the database that invalidate any of the information in the manual.

This was the only reliable, up-to-date source of information on ObjectStore that was freely available. It is lacking in information in what could be considered key areas – persistence, for example. However, it is reasonably unbiased for a manufacturer-produced technical overview, and highlights features would not be considered advantageous.

4.7 Objectivity/DB Technical Overview

This is a technical manual very similar in style to the ObjectStore technical overview. It provides a very comprehensive overview of Objectivity/DB’s capabilities, frequently illustrated with examples.

4.8 Database Management Systems: Relational, Object-Relational, and Object-Oriented Data Models, L. Bergholt, J. Steen Due, T. Hohn, J. Lindskov Knudsen, K. Hjerrild Nielsen, T. Sonne Olesen, E. Hahn Pedersen

URL: http://citeseer.nj.nec.com/bergholt98database.html

The comparisons of existing systems in this document we found interesting, however it is clear to see that the document is not recent as it includes information on o2, which was discontinued two years ago. We also found inaccurate information in the criteria breakdown, for example:

8.2.6 Versioning of Data

POET does not seem to offer versioning of data.

This fact is inaccurate as POET clearly does support versioning of data. The authors of the document review Jasmine, although this is the only occasion where we found a comparison between Jasmine and other OODB’s.

4.9 The Jasmine Object Database Multimedia Applications For The Web, Setrag Khoshafian, Surapol Dasananda, Norayr Minassian


This book provides detailed technical insight into to the Jasmine databases. The intended audience is Jasmine database administrators and Jasmine programmers. Unfortunately there are no comparisons of other existing object orientated database systems. The authors made no attempt to cover issues regarding schema evolution or versioning. Chapter 8 covers persistence, but the author does not discuss the issues of Jasmine persistence in programming languages like C, C++, or ActiveX.