fbpx
Wikipedia

Objectivity/DB

Objectivity/DB is a commercial object database produced by Objectivity, Inc. It allows applications to make standard C++, C#, Java, or Python 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, Macintosh, UNIX and Windows platforms. All of the languages and platforms interoperate, with the Objectivity/DB kernel taking care of compiler and hardware platform differences.

History edit

Objectivity/DB was first sold in 1990. The C++ and Java interfaces for Objectivity/DB incorporate the features defined in the ODMG'93 standard.[1] The C# and Python interfaces were added subsequently. The company ceased trading in late 2023.

Architectural features edit

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 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[2] and reliable. It has sustained ingest rates in excess of one terabyte per hour while simultaneously supporting data fusion and query operations.[3]

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, stored over a Petabyte of objects.[4][5]

Objectivity/DB provides a flexible approach for defining how objects are placed within a given storage hierarchy.[6] 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 of 1:1, 1:many, many:1 or many:many and use the OIDs to speed up the navigation of networks of objects.[7] 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 performance advantage.[8][9][10]

Objectivity/DB differs from RDBMSs in how it handles queries. The application declares and initializes an iterator that locates and returns qualified objects as soon as they are found. The Objectivity/DB Parallel Query Engine divides queries into subtasks aimed at individual databases or containers. Remote query agents handle each subtask and send results back to the iterator. The Parallel Query Engine consists of two replaceable components: a splitter that determines the best way to divide the task and a filter in the query agent that further refines a query. For example, a query regarding cities in Europe could be divided into forty-nine subtasks, each for a different country. The filter may access an external data source to qualify or disqualify the objects found by the Query Agent in the Objectivity/DB database or container.

Databases and system data (catalogs and 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 (JCA) standard. The distributed architecture of Objectivity/DB is equally applicable to cloud environments.[11]

Typical applications edit

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 (CAD) and engineering applications. In the early 1990s a number of telecom equipment manufacturers started embedding Objectivity/DB in advanced intelligent network 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 edit

  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.

External links edit

  • Objectivity, Inc.
  • ODBMS.ORG

objectivity, this, article, multiple, issues, please, help, improve, discuss, these, issues, talk, page, learn, when, remove, these, template, messages, major, contributor, this, article, appears, have, close, connection, with, subject, require, cleanup, compl. This article has multiple issues Please help improve it or discuss these issues on the talk page Learn how and when to remove these template messages A major contributor to this article appears to have a close connection with its subject It may require cleanup to comply with Wikipedia s content policies particularly neutral point of view Please discuss further on the talk page July 2010 Learn how and when to remove this message This article contains content that is written like an advertisement Please help improve it by removing promotional content and inappropriate external links and by adding encyclopedic content written from a neutral point of view January 2010 Learn how and when to remove this message Learn how and when to remove this message Objectivity DB is a commercial object database produced by Objectivity Inc It allows applications to make standard C C Java or Python 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 Macintosh UNIX and Windows platforms All of the languages and platforms interoperate with the Objectivity DB kernel taking care of compiler and hardware platform differences Contents 1 History 2 Architectural features 3 Typical applications 4 References 5 External linksHistory editObjectivity DB was first sold in 1990 The C and Java interfaces for Objectivity DB incorporate the features defined in the ODMG 93 standard 1 The C and Python interfaces were added subsequently The company ceased trading in late 2023 Architectural features editObjectivity 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 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 2 and reliable It has sustained ingest rates in excess of one terabyte per hour while simultaneously supporting data fusion and query operations 3 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 stored over a Petabyte of objects 4 5 Objectivity DB provides a flexible approach for defining how objects are placed within a given storage hierarchy 6 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 of 1 1 1 many many 1 or many many and use the OIDs to speed up the navigation of networks of objects 7 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 performance advantage 8 9 10 Objectivity DB differs from RDBMSs in how it handles queries The application declares and initializes an iterator that locates and returns qualified objects as soon as they are found The Objectivity DB Parallel Query Engine divides queries into subtasks aimed at individual databases or containers Remote query agents handle each subtask and send results back to the iterator The Parallel Query Engine consists of two replaceable components a splitter that determines the best way to divide the task and a filter in the query agent that further refines a query For example a query regarding cities in Europe could be divided into forty nine subtasks each for a different country The filter may access an external data source to qualify or disqualify the objects found by the Query Agent in the Objectivity DB database or container Databases and system data catalogs and 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 JCA standard The distributed architecture of Objectivity DB is equally applicable to cloud environments 11 Typical applications editObjectivity 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 CAD and engineering applications In the early 1990s a number of telecom equipment manufacturers started embedding Objectivity DB in advanced intelligent network 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 edit 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 Georgetown University taps Objectivity for Big Data research Government Security News May 2013 Retrieved December 1 2014 Scaling Objectivity Database Performance with Panasas Scale Out NAS Storage PDF August 2011 Retrieved December 1 2014 Lessons Learned from Managing a Petabyte Jacek Becla and Daniel L Wang 2005 BaBar Database Angela Guess February 6 2013 Objectivity Launches Objectivity DB 11 0 DATAVERSITY Retrieved December 2 2014 Philip Howard May 29 2012 Objectivity and InfiniteGraph Bloor Retrieved December 1 2014 Suzanne W Dietrich Susan D Urban 2011 Fundamentals of Object Databases Morgan amp Claypool Publishers p 2 ISBN 9781608454761 Retrieved December 3 2014 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 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 Objectivity Complex Data Management Simplified Neovise 2014 Retrieved December 2 2014 External links editObjectivity Inc ODBMS ORG Retrieved from https en wikipedia org w index php title Objectivity DB amp oldid 1206837657, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.