Comparison of object database management systems

Last updated

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

Contents

NameCurrent Stable Version Language(s) SQL support Datatypes License Description
Caché 2017.2.1 Caché ObjectScript (dynamic language), Basic. Java/.NET object mapping supported.SQL subset. Object notation allowed. Supports embedded SQL, dynamic SQL and xDBC access. Proprietary MUMPS ancestry. Includes built-in support for XML, Web/AJAX and an EMB system called Ensemble. Supports embedded, client/server and distributed implementations.
ConceptBase 8.1.13
(2019-12-09)
Telos CBQL (based on Datalog)no types but classesopen source, FreeBSD-style licensehistorical db, active rules, meta-modeling, deductive rules
Db4o 8.0
(2011-03-09)
C#, Java db4o-sql .NET and Java data types GPL, custom, [1] proprietary Native Queries, LINQ support, automatic schema evolution, Transparent Activation/Persistence, replication to RDBMS, Object Manager plugin for Visual Studio and Eclipse
GemStone/S 3.6.0 Smalltalk NoneObjects and code Proprietary, free version availablePersistent, transactional, multi-user Smalltalk developed by GemTalk Systems.
ObjectDatabase++ 4.4
(2015-07-03)
C++, TScript Proprietary Embedded
ObjectDB 2.4.6JavaNone, uses JPA or JDO Proprietary
Objectivity/DB 10.2.1 C++, C#, Java, Python, Smalltalk and XML SQL superset Proprietary Distributed, Parallel Query Engine
ObjectStore 7.2
(July 2011)
C++, Java, interoperable with .NETSQL subset (also has own object query language) Proprietary Embedded database supporting efficient, distributed management of C++ and Java objects. Avoids the complexities and limitations of ORM products such as Hibernate by storing objects directly with their relationships intact. Uses a page-based mapping system for fast locking and efficient, distributed, client-side caching.
ODABA 12.3.0
(August 2013)
C++, .NETSQL subset, DQLBasic Types, Classes, Multiple inheritance, Weak Typed GPL Terminology-oriented database
OpenAccess 2.2 C++ no Proprietary EDA database
OpenLink Virtuoso (Virtuoso Universal Server)7.2.7 (May 2022) C++, Java/JSP, ASP, ASPX, Mono, RDF, SPARQL, SPARUL, SQL, Perl, Python, PHP, Ruby, XML, ODBC, JDBC, ADO.NET, moreSQL 9x/200x GPL or proprietary
Perst Java: 4.38 (2015-03-18) C#: 4.46 (2014-08-23) Java (including Java SE, Java ME & Android), C# (including .NET, .NET Compact Framework, Mono & Silverlight)JSQL – object-oriented subset of SQLJava and .NET data types GPL, ProprietarySmall footprint embedded database. Diverse indexes and specialized collection classes; LINQ; replication; ACID transactions; native full text search; includes Silverlight, Android and Java ME demo apps.
Picolisp 3.1.1Picolisp MIT License DB built into the language
Versant Object Database / VOD / FastObjects10 (2021) / 9 (2015) / 14 (2020) C++ / Java / C# OQL (ODMG 3.0) Proprietary
Zope Object Database Python, CNo support. Object indexing and searching is done through ZCatalog facility. Zope Public License

See also

Related Research Articles

<span class="mw-page-title-main">Database</span> Organized collection of data in computing

In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and analyze the data. The DBMS additionally encompasses the core facilities provided to administer the database. The sum total of the database, the DBMS and the associated applications can be referred to as a database system. Often the term "database" is also used loosely to refer to any of the DBMS, the database system or an application associated with the database.

<span class="mw-page-title-main">Object database</span> Type of database management system

An object database or object-oriented 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. A third type, object–relational databases, is a hybrid of both approaches. Object databases have been considered since the early 1980s.

A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A database management system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems are equipped with the option of using SQL for querying and updating the database.

Structured Query Language (SQL) is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). 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 a relational database and the heap of an object-oriented programming language. This creates, in effect, a virtual object database that can be used from within the programming language.

<span class="mw-page-title-main">Object–relational database</span> 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.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

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

Oracle Database is a proprietary multi-model database management system produced and marketed by Oracle Corporation.

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.

Object–relational impedance mismatch is a set of difficulties going between data in relational data stores and data in domain-driven object models. Relational Database Management Systems (RDBMS) is the standard method for storing data in a dedicated database, while object-oriented (OO) programming is the default method for business-centric design in programming languages. The problem lies in neither relational databases nor OO programming, but in the conceptual difficulty mapping between the two logic models. Both logical models are differently implementable using database servers, programming languages, design patterns, or other technologies. Issues range from application to enterprise scale, whenever stored relational data is used in domain-driven object models, and vice versa. Object-oriented data stores can trade this problem for other implementation difficulties.

<span class="mw-page-title-main">Virtuoso Universal Server</span> Computer software

Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system (RDBMS), object–relational database (ORDBMS), virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a "universal server"; it enables a single multithreaded server process that implements multiple protocols. The free and open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects.

<span class="mw-page-title-main">JFire</span> Defunct accounting software system

JFire was an Enterprise Resource Planning and Customer Relationship Management system.

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

<span class="mw-page-title-main">Db4o</span> Open source object database

db4o was an embeddable open-source object database for Java and .NET developers. It was developed, commercially licensed and supported by Actian. In October 2014, Actian declined to continue to actively pursue and promote the commercial db4o product offering for new customers.

NoSQL is an approach to database design that focuses on providing a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Instead of the typical tabular structure of a relational database, NoSQL databases house data within one data structure. Since this non-relational database design does not require a  schema, it offers rapid  scalability  to manage  large and typically unstructured data sets. 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.

Versant Corporation was an American-based software company building specialized NoSQL data management systems. Versant was founded in Menlo Park, California (USA) in 1988. It was headquartered in Redwood City, California.

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

The following is provided as an overview of and topical guide to databases:

In the field of database design, a multi-model database is a database management system designed to support multiple data models against a single, integrated backend. In contrast, most database management systems are organized around a single data model that determines how data can be organized, stored, and manipulated. Document, graph, relational, and key–value models are examples of data models that may be supported by a multi-model database.

References

  1. "Db4o :: Java & .NET Object Database :: Db4o Opensource Compatibility License (DOCL)". Archived from the original on 2009-09-28. Retrieved 2009-06-10.