Content deleted Content added
→See also: remove entries already linked |
m copyedit |
||
Line 4:
| cleanup=April 2007
}}
'''Objectivity/DB''' is a commercial [[object database]] produced by Objectivity, Inc. It allows applications to make standard [[C++]], [[Java (programming language)|Java]], [[Python (programming language)|Python]] or [[Smalltalk]] objects persistent without having to convert the data objects into the rows and columns used by a [[relational database management system]] (RDBMS). Objectivity/DB supports the most popular object oriented languages plus [[SQL]]/[[ODBC]] and [[XML]]. It runs on [[Linux]], [[LynxOS]], [[UNIX]] and [[Microsoft Windows|Windows]] platforms. All of the languages and platforms interoperate, with the Objectivity/DB kernel taking care of compiler and hardware platform differences.
== History ==
Line 14:
Objectivity/DB is a [[distributed database]] that provides a single logical view across a federation of databases. It uses a [[distributed computing]] 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]] server architectures. There are lock, remote data transfer and query agent server processes. The distributed architecture helps make Objectivity/DB inherently [[scalability|scalable]] and [[reliability (engineering)|reliable]]. It has sustained ingest rates in excess of one terabyte per hour while simultaneously supporting data fusion and query operations.<ref>[http://www.objectivity.com/pages/object-oriented-databases/building_high_performance_object_oriented_databases.html Building a High Throughput Data repository With High Query Performance] 2004</ref>
Objectivity/DB uses a hierarchy of storage constructs. 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 or 32-bit Object Identifier
Objects can be linked to other objects using named uni-directional or bi-directional links. The links can have a [[cardinality]] 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]]s. Eliminating the relational [[Join]] operations inherent in a relational database gives Objectivity/DB a marked performance advantage.
Line 22:
Databases and system data (catalogs and [[Database schema|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]] environments. It has attained certification as an IBM Ready For Grid product. It is also used in [[Service Oriented Architecture]] applications. Objectivity For Java has support for the [[J2EE Connector Architecture]]
== Typical applications ==
|