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]

Unlike RDBMSs, Objectivity/DB employs a unique approach to query handling. Applications initialize iterators that locate and retrieve qualified objects iteratively. The Parallel Query Engine divides queries into subtasks managed by remote query agents, which filter and process results before sending them back to the application. This approach includes components for query task division and refinement, optimizing performance for complex queries.

Databases and system data, including catalogs and schemas, can be replicated across multiple locations using a quorum-based synchronous replication mechanism. This ensures transparent resynchronization of replicas temporarily disconnected from the network.

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]

Typical applications

Objectivity/DB finds applications in data-intensive and real-time environments handling complex, interconnected data. It is utilized in software, hardware, commercial, scientific, and government projects, particularly in sectors like in computer-aided design (CAD), telecom, process control, manufacturing, medical instrumentation, defense, and large-scale scientific research.

The choice between RDBMS and ODBMS depends on specific application requirements. Objectivity/DB is favored in compute or data-intensive, object-oriented systems where its performance benefits are critical.

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

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.

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

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

SAP IQ is a column-based, petabyte scale, relational database software system used for business intelligence, data warehousing, and data marts. Produced by Sybase Inc., now an SAP company, its primary function is to analyze large amounts of data in a low-cost, highly available environment. SAP IQ is often credited with pioneering the commercialization of column-store technology.

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

<span class="mw-page-title-main">Michael Stonebraker</span> American computer scientist (born 1943)

Michael Ralph Stonebraker is a computer scientist specializing in database systems. Through a series of academic prototypes and commercial startups, Stonebraker's research and products are central to many relational databases. He is also the founder of many database companies, including Ingres Corporation, Illustra, Paradigm4, StreamBase Systems, Tamr, Vertica and VoltDB, and served as chief technical officer of Informix. For his contributions to database research, Stonebraker received the 2014 Turing Award, often described as "the Nobel Prize for computing."

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.

Data-intensive computing is a class of parallel computing applications which use a data parallel approach to process large volumes of data typically terabytes or petabytes in size and typically referred to as big data. Computing applications that devote most of their execution time to computational requirements are deemed compute-intensive, whereas applications are deemed data-intensive require large volumes of data and devote most of their processing time to I/O and manipulation of data.

eXtremeDB is a high-performance, low-latency, ACID-compliant embedded database management system using an in-memory database system (IMDS) architecture and designed to be linked into C/C++ based programs. It works on Windows, Linux, and other real-time and embedded operating systems.

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

<span class="mw-page-title-main">SingleStore</span> Database management system

SingleStore is a proprietary, cloud-native database designed for data-intensive applications. A distributed, relational, SQL database management system (RDBMS) that features ANSI SQL support, it is known for speed in data ingest, transaction processing, and query processing.

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

<span class="mw-page-title-main">Martin L. Kersten</span> Dutch computer scientist (born 1953)

Martin L. Kersten was a computer scientist with research focus on database architectures, query optimization and their use in scientific databases. He was an architect of the MonetDB system, an open-source column store for data warehouses, online analytical processing (OLAP) and geographic information systems (GIS). He has been (co-) founder of several successful spin-offs of the Centrum Wiskunde & Informatica (CWI).

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.