Content deleted Content added
→Typical applications: ditto |
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1:
{{Short description|Proprietary object database}}
{{Multiple issues|
{{COI|date=July 2010}}
Line 4 ⟶ 5:
}}
'''Objectivity/DB''' is a commercial [[object database]] produced by Objectivity, Inc. It allows applications to store standard [[C++]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], or [[Python (programming language)|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 [[Microsoft Windows|Windows]] platforms, facilitating interoperability across different languages and hardware environments.{{citation needed|date=May 2025}}
==History==
Objectivity/DB was first introduced in 1990. The C++ and Java interfaces adhere to the ODMG'93 standard,<ref name="odmgBook">{{cite book|url=https://archive.org/details/isbn_9781558606470_0|title=Object Data Standard: ODMG 3.0|author1=R. G. Cattell|author2=Douglas K. Barry|author3=Mark Berler|author4=Mark Berler|author5=Jeff Eastman|author6=David Jordan|author7=Craig Russell|author8=Olaf Schadow|author9=Torsten Stanienda|author10=Fernando Velez|date=January 2000|publisher=Academic Press|isbn=1558606475|accessdate=December 1, 2014|url-access=registration}}</ref> with subsequent additions of C# and Python interfaces. Objectivity, Inc. ceased in late 2023.{{citation needed|date=May 2025}}
==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]]<ref name="georgeTown">{{cite web|url=http://www.gsnmagazine.com/node/29210?c=cyber_security|title=Georgetown University taps Objectivity for Big Data research|date=May 2013|publisher=Government Security News|accessdate=December 1, 2014|archive-date=July 1, 2017|archive-url=https://web.archive.org/web/20170701004035/http://gsnmagazine.com/node/29210?c=cyber_security|url-status=dead}}</ref> and [[reliability (engineering)|reliability]], supporting ingest rates exceeding one terabyte per hour while concurrently facilitating data fusion and query operations.<ref name="panasasPaper">{{cite web|url=http://www.panasas.com/sites/default/files/uploads/docs/panasas_objectivity_wp_lr_1065.pdf|title=Scaling Objectivity Database Performance with Panasas® Scale-Out NAS Storage|date=August 2011|accessdate=December 1, 2014}}</ref>
Objectivity/DB utilizes a distributed storage hierarchy, storing objects in logical clusters called containers within [[federated database|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.<ref>[http://www.slac.stanford.edu/BFROOT/www/Public/Computing/Databases/proceedings/CIDR05.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>
The database offers flexibility in defining object placement within its storage hierarchy.<ref name="placement">{{cite web|url=http://www.dataversity.net/objectivity-launches-objectivitydb-11-0/|title=Objectivity Launches Objectivity/DB 11.0|author=Angela Guess|date=February 6, 2013|publisher=DATAVERSITY|accessdate=December 2, 2014}}</ref> 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.{{citation needed|date=May 2025}}
In Objectivity/DB, objects can establish named uni-directional or bi-directional links with other objects, supporting various [[Cardinality|cardinalities]] (1:1, 1, many:1, many). Object Identifiers (OIDs) expedite navigation across networks of objects,<ref name="bloor">{{cite web|url=http://www.bloorresearch.com/analysis/objectivity-infinitegraph/|title=Objectivity and InfiniteGraph|author=Philip Howard|date=May 29, 2012|publisher=Bloor|accessdate=December 1, 2014}}</ref> supporting scalable collections (tree, list, set etc.), indices, and [[hash table]]s. By eliminating relational [[Join (SQL)|Join]] operations typical in RDBMS, Objectivity/DB achieves enhanced performance advantages.<ref>{{cite book|author1=Suzanne W. Dietrich|author2=Susan D. Urban|year=2011|title=Fundamentals of Object Databases|publisher=Morgan & Claypool Publishers|page=2|isbn=9781608454761|url=https://books.google.com/books?id=x_8myOrO1dgC&q=Fundamentals+of+Object+Databases|accessdate=December 3, 2014}}</ref><ref>{{cite book|editor1=Alan Dearle|editor2=Roberto V. Zicari|year=2010|title=Objects and Databases, Third International Conference Proceedings, ICOODB|publisher=Springer|page=34|isbn=978-3642160912|url=https://books.google.com/books?id=AHHE015TBrIC|accessdate=December 3, 2014}}</ref><ref>{{cite book|author=C.S.R Prabhu|year=2011|title=Object-Oriented Database Systems - Approaches and Architecture, Third Edition|publisher=Asoke K. Ghosh, PHI Learning Private Limited|page=67|isbn=9788120340930|url=https://books.google.com/books?id=aRdl1j31MfoC|accessdate=December 3, 2014}}</ref>
|