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
ObjectFile 4.14C++, XMLNoneObjects, References, BLOB's, C types. MIT License Very fast loading. Full source code for easy porting and debugging. Database versioning supported. Byte order conversion supported for cross-platform support. Memory efficient. Objects can be in or out of memory. Binary Large Object (BLOB) support.XML object and full database representation can be generated. Import and export objects from xml. Proven in a large desktop application. Small footprint. Database files can be small or very large.Cross-platform and portable. Portable file format. Open source and free to use.
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 7.2.5.1 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 / JPA / FastObjects9.1 / 3.0 / 12.0
(2015-10-21)
C++ / Java / C# OQL (ODMG 3.0) Proprietary
WakandaDB4 JavaScript, C++ No support. REST and SSJS can be used instead. JavaScript and 4D data types AGPL, proprietary [2] NoSQL REST / Server-Side JavaScript engine. Integrates Webkit JavaScriptCore engine with HTML5 JS APIs supported on the server. Tables and columns are replaced by JavaScript DataClasses and attributes.
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 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">Ingres (database)</span> Database software

Ingres Database is a proprietary SQL relational database management system intended to support large commercial and government applications.

<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.

<span class="mw-page-title-main">LAMP (software bundle)</span> Acronym for a common web hosting solution

LAMP is an acronym denoting one of the most common software stacks for the web's most popular applications. Its generic software stack model has largely interchangeable components.

<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.

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

<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.

DataNucleus is an open source project which provides software products around data management in Java. The DataNucleus project started in 2008.

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.

CUBRID ( "cube-rid") is an open-source SQL-based relational database management system (RDBMS) with object extensions developed by CUBRID Corp. for OLTP. The name CUBRID is a combination of the two words cube and bridge, cube standing for a space for data and bridge standing for data bridge.

SciDB is a column-oriented database management system (DBMS) designed for multidimensional data management and analytics common to scientific, geospatial, financial, and industrial applications. It is developed by Paradigm4 and co-created by Michael Stonebraker.

References

  1. "Db4o :: Java & .NET Object Database :: Db4o Opensource Compatibility License (DOCL)". Archived from the original on 2009-09-28. Retrieved 2009-06-10.
  2. "Wakanda Commercial license". Archived from the original on 2013-02-18. Retrieved 2013-05-14.