Objectivity/DB
   HOME

TheInfoList



OR:

Objectivity/DB is a commercial object database produced by Objectivity, Inc. It allows applications to make standard C++, C#,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, or Python objects persistent without having to convert the data objects into the rows and columns used by a
relational database management system A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
(RDBMS). Objectivity/DB supports the most popular object oriented languages plus SQL/
ODBC In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
and
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
. It runs on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
,
Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc., Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and ...
,
UNIX Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for se ...
platforms. All of the languages and platforms interoperate, with the Objectivity/DB kernel taking care of compiler and hardware platform differences.


History

Objectivity/DB was first sold in 1990. The C++ and Java interfaces for Objectivity/DB incorporate the features defined in the ODMG'93 standard. The C# and Python interfaces were added subsequently.


Architectural features

Objectivity/DB is a distributed database that provides a single logical view across a federation of databases distributed across the network. It uses a
distributed computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
model that links a small software library with the client application. The client transparently communicates with remote servers that are functionally simpler than their equivalents in
centralized database A centralized database (sometimes abbreviated CDB) is a database that is located, stored, and maintained in a single location. This location is most often a central computer or database system, for example a desktop or server CPU, or a mainframe co ...
server architectures. There are lock, remote data transfer and query agent server processes. The distributed architecture helps make Objectivity/DB inherently
scalable Scalability is the property of a system to handle a growing amount of work by adding resources to the system. In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
and reliable. It has sustained ingest rates in excess of one terabyte per hour while simultaneously supporting data fusion and query operations. Objectivity/DB uses a distributed storage hierarchy. Objects are stored in logical clusters called containers. The containers are stored in databases that are cataloged in a federated database. Every object has a unique 64-bit Object Identifier (OID) that is a composite logical structure. The physical address space limitation for a single federation is in the millions of Terabytes range. The largest publicized Objectivity/DB installation, at SLAC's
BaBar experiment The BaBar experiment, or simply BaBar, is an international collaboration of more than 500 physicists and engineers studying the subatomic world at energies of approximately ten times the rest mass of a proton (~10 GeV). Its design was motivat ...
, stored over a Petabyte of objects. Objectivity/DB provides a flexible approach for defining how objects are placed within a given storage hierarchy. Database designers can define a custom placement strategy that is encapsulated in an XML configuration file and made available to the application. This strategy can define which persistent objects are stored together, which are distributed, and which are stored near designated objects. Objects can be linked to other objects using named uni-directional or bi-directional links. The links can have a
cardinality In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set A = \ contains 3 elements, and therefore A has a cardinality of 3. Beginning in the late 19th century, this concept was generalized ...
of 1:1, 1:many, many:1 or many:many and use the OIDs to speed up the navigation of networks of objects. The OIDs are also used in support of scalable collections (tree, list, set etc.), indices and
hash table In computing, a hash table, also known as hash map, is a data structure that implements an associative array or dictionary. It is an abstract data type that maps keys to values. A hash table uses a hash function to compute an ''index'', ...
s. Eliminating the relational
Join Join may refer to: * Join (law), to include additional counts or additional defendants on an indictment *In mathematics: ** Join (mathematics), a least upper bound of sets orders in lattice theory ** Join (topology), an operation combining two topo ...
operations inherent in a relational database gives Objectivity/DB a performance advantage. Objectivity/DB is also different from
RDBMS A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
s in the way in which it handles queries. The application declares and initializes an iterator that locates and returns qualified objects as soon as they are located. The Objectivity/DB Parallel Query Engine splits queries into subtasks directed at individual databases or containers. Remote query agents service each subtask and return results to the iterator. The Parallel Query Engine has two replaceable components: a splitter that can determine how to best subdivide the task and a filter in the query agent that can further refine a query. A query involving cities in Europe might be split into forty nine subtasks, one for each country. The filter might access an external data source before qualifying or disqualifying the objects that the Query Agent has found in the Objectivity/DB database or container. Databases and system data (catalogs and
schema The word schema comes from the Greek word ('), which means ''shape'', or more generally, ''plan''. The plural is ('). In English, both ''schemas'' and ''schemata'' are used as plural forms. Schema may refer to: Science and technology * SCHEMA ...
) can be replicated to multiple locations using a quorum based synchronous replication mechanism. Replicas that are temporarily separated from the quorum are transparently resynchronized when they are reconnected to the network that services them and their peers. Individual databases and lock servers can be allocated votes that are used to determine whether or not a client can update a replica. The distributed database and processing architecture of Objectivity/DB has allowed it to be used in many
grid computing Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from ...
environments. It has attained certification as an IBM Ready For Grid product. It is also used in
Service Oriented Architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provide ...
applications. Objectivity For Java has support for the J2EE Connector Architecture (JCA) standard. The distributed architecture of Objectivity/DB is equally applicable to cloud environments.


Typical applications

Objectivity/DB is generally used in data intensive or real-time applications that manipulate highly complex, inter-related data. It may be embedded in a software or hardware product or used as a part of commercial, scientific, or government project. Early deployments were primarily in
Computer-Aided Design Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve co ...
and engineering applications. In the early 1990s a number of telecom equipment manufacturers started embedding Objectivity/DB in advanced
intelligent network The Intelligent Network (IN) is the standard network architecture specified in the ITU-T Q.1200 series recommendations. It is intended for fixed as well as mobile telecom networks. It allows operators to differentiate themselves by providing v ...
and element management systems. Notable deployments have included the wireless SprintPCS and the Iridium low Earth orbit satellite networks. A number of process control, manufacturing and medical instrumentation systems incorporate Objectivity/DB because of its real-time performance and high availability. Defense contractors and large science projects started using Objectivity/DB in the late 1990s. The government applications cover command and control, security, data fusion and intelligence applications. Objectivity/DB has been used in astrophysics, high energy physics, fusion, earth sciences, hydrography and bioinformatics applications. Most of these applications build and manipulate extremely large (multi-Petabyte) databases. The choice of an RDBMS or an ODBMS depends on many factors. An ODBMS can be ideal in a compute or data intensive object oriented system. However, if an RDBMS can comfortably meet the functional and performance requirements of an application with the available programming resources then there is probably no need to consider an ODBMS.


References


External links


Objectivity, Inc.

ODBMS.ORG
{{DEFAULTSORT:Objectivity Db Proprietary database management systems Object-oriented database management systems