Content deleted Content added
m →History: link |
m →Architectural features: punct |
||
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 scalable and 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 [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]], stored over a Petabyte of objects.<ref>[http://www-db.cs.wisc.edu/cidr/cidr2005/papers/P06.pdf Lessons Learned from Managing a Petabyte] Jacek Becla and Daniel L. Wang, 2005</ref><ref>[http://www.slac.stanford.edu/BFROOT/www/Public/Computing/Databases/ BaBar Database]</ref>
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 tables. Eliminating the relational [[Join]] operations inherent in a relational database gives Objectivity/DB a marked performance advantage.
Objectivity/DB is also different from
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.
|