Objectivity/DB

Last updated

Objectivity/DB is a commercial object database produced by Objectivity, Inc. It allows applications to store standard C++, C#, Java, or Python objects persistently, without converting them into the rows and columns used by a relational database management system (RDBMS). Objectivity/DB supports popular object-oriented languages as well as SQL/ODBC and XML. It is compatible with Linux, Macintosh, UNIX and Windows platforms, facilitating interoperability across different languages and hardware environments.

Contents

History

Objectivity/DB was first introduced in 1990. The C++ and Java interfaces adhere to the ODMG'93 standard, [1] with subsequent additions of C# and Python interfaces. Objectivity, Inc. ceased in late 2023.

Architectural features

Objectivity/DB operates as a distributed database, providing a unified logical view across a network of databases. It employs a distributed computing model where client applications transparently communicate with simplified servers processes. This architecture enhances scalability [2] and reliability, supporting ingest rates exceeding one terabyte per hour while concurrently facilitating data fusion and query operations. [3]

Objectivity/DB utilizes a distributed storage hierarchy, storing objects in logical clusters called containers within federated databases. Each object is assigned a unique 64-bit Object Identifier (OID) within a massive physical address space spanning millions of Terabytes. Notably, the largest reported deployment at SLAC's BaBar experiment stored over a petabyte of objects. [4] [5]

The database offers flexibility in defining object placement within its storage hierarchy. [6] through customizable strategies encapsulated in XML configuration files. This approach allows database designers to specify how persistent objects are stored, distributed, and positioned relative to other designated objects.

In Objectivity/DB, objects can establish named uni-directional or bi-directional links with other objects, supporting various cardinalities (1:1, 1, many:1, many). Object Identifiers (OIDs) expedite navigation across networks of objects, [7] supporting scalable collections (tree, list, set etc.), indices, and hash tables. By eliminating relational Join operations typical in RDBMS, Objectivity/DB achieves enhanced performance advantages. [8] [9] [10]

The distributed architecture of Objectivity/DB has facilitated its adoption in grid computing environments and Service Oriented Architecture (SOA) applications. It holds certification as an IBM Ready for Grid product and supports the J2EE Connector Architecture (JCA) standard making it suitable for deployment in cloud environments. [11]

Related Research Articles

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

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.

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

The Object Data Management Group (ODMG) was conceived in the summer of 1991 at a breakfast with object database vendors that was organized by Rick Cattell of Sun Microsystems. In 1998, the ODMG changed its name from the Object Database Management Group to reflect the expansion of its efforts to include specifications for both object database and object–relational mapping products.

An XML database is a data persistence software system that allows data to be specified, and sometimes stored, in XML format. This data can be queried, transformed, exported and returned to a calling system. XML databases are a flavor of document-oriented databases which are in turn a category of NoSQL database.

<span class="mw-page-title-main">MonetDB</span> Open source column-oriented relational database management system

MonetDB is an open-source column-oriented relational database management system (RDBMS) originally developed at the Centrum Wiskunde & Informatica (CWI) in the Netherlands. It is designed to provide high performance on complex queries against large databases, such as combining tables with hundreds of columns and millions of rows. MonetDB has been applied in high-performance applications for online analytical processing, data mining, geographic information system (GIS), Resource Description Framework (RDF), text retrieval and sequence alignment processing.

The Zope Object Database (ZODB) is an object-oriented database for transparently and persistently storing Python objects. It is included as part of the Zope web application server, but can also be used independently of Zope.

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

Oracle Spatial and Graph, formerly Oracle Spatial, is a free option component of the Oracle Database. The spatial features in Oracle Spatial and Graph aid users in managing geographic and location-data in a native type within an Oracle database, potentially supporting a wide range of applications — from automated mapping, facilities management, and geographic information systems (AM/FM/GIS), to wireless location services and location-enabled e-business. The graph features in Oracle Spatial and Graph include Oracle Network Data Model (NDM) graphs used in traditional network applications in major transportation, telcos, utilities and energy organizations and RDF semantic graphs used in social networks and social interactions and in linking disparate data sets to address requirements from the research, health sciences, finance, media and intelligence communities.

<span class="mw-page-title-main">Exasol</span> German database management software company

Exasol is an analytics database management software company. Its product is called Exasol, an in-memory, column-oriented, relational database management system

<span class="mw-page-title-main">MarkLogic Server</span>

MarkLogic Server is a document-oriented database developed by MarkLogic. It is a NoSQL multi-model database that evolved from an XML database to natively store JSON documents and RDF triples, the data model for semantics. MarkLogic is designed to be a data hub for operational and analytical data.

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.

<span class="mw-page-title-main">Couchbase Server</span> Open-source NoSQL database

Couchbase Server, originally known as Membase, is a source-available, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many concurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value, or JSON document access, with low latency and high sustainability throughput. It is designed to be clustered from a single machine to very large-scale deployments spanning many machines.

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

<span class="mw-page-title-main">Apache Drill</span> Open-source software framework

Apache Drill is an open-source software framework that supports data-intensive distributed applications for interactive analysis of large-scale datasets. Built chiefly by contributions from developers from MapR, Drill is inspired by Google's Dremel system. Drill is an Apache top-level project. Tom Shiran is the founder of the Apache Drill Project. It was designated an Apache Software Foundation top-level project in December 2016.

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.

SequoiaDB is a multi-model NewSQL database.

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

References

  1. R. G. Cattell; Douglas K. Barry; Mark Berler; Mark Berler; Jeff Eastman; David Jordan; Craig Russell; Olaf Schadow; Torsten Stanienda; Fernando Velez (January 2000). Object Data Standard: ODMG 3.0 . Academic Press. ISBN   1558606475 . Retrieved December 1, 2014.
  2. "Georgetown University taps Objectivity for Big Data research". Government Security News. May 2013. Retrieved December 1, 2014.
  3. "Scaling Objectivity Database Performance with Panasas® Scale-Out NAS Storage" (PDF). August 2011. Retrieved December 1, 2014.
  4. Lessons Learned from Managing a Petabyte Jacek Becla and Daniel L. Wang, 2005
  5. BaBar Database
  6. Angela Guess (February 6, 2013). "Objectivity Launches Objectivity/DB 11.0". DATAVERSITY. Retrieved December 2, 2014.
  7. Philip Howard (May 29, 2012). "Objectivity and InfiniteGraph". Bloor. Retrieved December 1, 2014.
  8. Suzanne W. Dietrich; Susan D. Urban (2011). Fundamentals of Object Databases. Morgan & Claypool Publishers. p. 2. ISBN   9781608454761 . Retrieved December 3, 2014.
  9. Alan Dearle; Roberto V. Zicari, eds. (2010). Objects and Databases, Third International Conference Proceedings, ICOODB. Springer. p. 34. ISBN   978-3642160912 . Retrieved December 3, 2014.
  10. C.S.R Prabhu (2011). Object-Oriented Database Systems - Approaches and Architecture, Third Edition. Asoke K. Ghosh, PHI Learning Private Limited. p. 67. ISBN   9788120340930 . Retrieved December 3, 2014.
  11. "Objectivity: Complex Data-Management, Simplified". Neovise. 2014. Retrieved December 2, 2014.