Comparison of object-relational database management systems

Last updated

This is a comparison of object-relational database management systems (ORDBMSs). Each system has at least some features of an object-relational database; they vary widely in their completeness and the approaches taken.

Contents

The following tables compare general and technical information; please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

Basic data

NameVendor License OS Notes
Adaptive Server Enterprise SAP Proprietary Cross-platform
CUBRID NHN Corporation GPL/BSD Linux, Windows
Db2 IBM ProprietaryCross-platform
Greenplum Database Greenplum division of EMC Corporation Proprietary?Uses PostgreSQL codebase
Informix IBM ProprietaryCross-platform
Caché InterSystems ProprietaryCross-platform
Microsoft SQL Server Microsoft Corporation ProprietaryWindows, LinuxSupports data objects in .NET languages
Oracle Database Oracle Corporation ProprietaryLinux, Windows, Unix
PostgreSQL PostgreSQL Global Development Group PostgreSQL License Cross-platform
OpenEdge Advanced Business Language (formerly Progress 4GL) Progress Software Corporation ProprietaryCross-platform
Virtuoso Universal Server OpenLink Software GPLv2 or proprietaryCross-platform
VMDS (Version Managed Data Store) GE Energy, a division of General Electric Proprietary?GIS for public utilities; can be stored inside Oracle Database
WakandaDB 4th Dimension AGPLv3 or proprietaryWindows, Linux, macOSBased on REST and server-side JavaScript
XDB Enterprise Server Micro Focus ProprietaryDOS, Windows NT, OS/2
Zope Object Database Zope Corporation Zope Public License Cross-platformFor Python, also included in Zope web application server

Object features

Information about what fundamental ORDBMSes features are implemented natively.

Type Method Type inheritance Table inheritance
CUBRID YesYesYesYes
Oracle YesYes [Note 1] YesYes
OpenLink Virtuoso YesYesYesYes
PostgreSQL YesYesYesYes
Informix YesYesYesYes
WakandaDB YesYesYesYes

Data types

Information about what data types are implemented natively.

Array List Set Multiset Object reference
CUBRID YesYesYesYesYes
Oracle YesYesYesYesYes
OpenLink Virtuoso YesYesYesYesYes
PostgreSQL YesYesYesYesYes
Informix NoYesYesYesYes

See also

Notes

  1. No private methods, no way to call super method from a child.

Related Research Articles

Database Organized collection of data

A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.

Object database Database management system

An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. Object-relational databases are a hybrid of both approaches.

A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems have an option of using the SQL for querying and maintaining the database.

SQL is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). It is particularly useful in handling structured data, i.e. data incorporating relations among entities and variables.

Object-relational mapping in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language. There are both free and commercial packages available that perform object-relational mapping, although some programmers opt to construct their own ORM tools.

Object-relational database database management system

An object-relational database (ORD), or object-relational database management system (ORDBMS), is a database management system (DBMS) similar to a relational database, but with an object-oriented database model: objects, classes and inheritance are directly supported in database schemas and in the query language. In addition, just as with pure relational systems, it supports extension of the data model with custom data types and methods.

IBM Db2 Family Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. They initially supported the relational model, but were extended to support object-relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

Entity–relationship model Model or diagram describing interrelated things

An entity–relationship model describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types and specifies relationships that can exist between entities.

Data modeling (in software engineering) process of creating a data model for an information system by applying certain formal techniques

Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques.

The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program written in an object-oriented programming language or style, particularly because objects or class definitions must be mapped to database tables defined by a relational schema.

D is a set of prescriptions for what Christopher J. Date and Hugh Darwen believe a relational database management system ought to be like. It is proposed in their paper The Third Manifesto, first published in 1994 and elaborated on in several books since then.

Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem. It is one approach to software design.

Database model generic structure of a database type, for instance relational

A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized and manipulated. The most popular example of a database model is the relational model, which uses a table-based format.

This is a comparison of notable object database management systems, showing what fundamental object database features are implemented natively.

The following tables compare general and technical information for a number of available database administrator tools. Please see individual product articles for further information. This article is neither all-inclusive nor necessarily up to date.

A document-oriented database, or document store, is a computer program designed for storing, retrieving and managing document-oriented information, also known as semi-structured data.

A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies. NoSQL databases are increasingly used in big data and real-time web applications. NoSQL systems are also sometimes called "Not only SQL" to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures.

Lists of database management systems provide indexes and/or comparisons of different types of database management system. They include:

The following