Objectivity/DB supports distributed networks or it can be embedded in standalone devices. It is used to persist standard C++, Java, C#, .NET platform, Python, or Smalltalk objects without having to convert the data into the rows and columns used by relational database management systems (RDBMS). Objectivity also supports SQL/ODBC and XML while running on Linux, LynxOS, UNIX, and Windows.
New Features in Objectivity/DB 10
- C# .NET support - Complete C# and .NET platform support along with interoperability between other Objectivity/DB supported languages.
- LINQ support - Now includes the LINQ query language, which reduces many barriers for C# developers.
- .NET Config and Transaction support - This allows .NET developers to also use Objectivity/DB with the most up-to-date .NET technologies.
- Eclipse support - Objectivity/DB 10 now supports IDEs such as Eclipse (others weren't mentioned).
- Java performance - Up to a 30% performance gain on the Java platform.
- Multi-federated access - Enables multiple federated database access for Java along with a "unified clustering strategy" for Java and other languages.
- Admin enhancements - New ease-of-use functionalities have been added to performance analysis, upgrade support, database management, failover and disaster recovery tools, and debugging.
Model of Objectivity/DB in a Parallel Query Engine
Here are ten advantages of Objectivity/DB posted on their website:
- No O-R Mapping Layer: Significantly reduce development time, maintenance and administrative overhead, and completely eliminate all application errors associated with known o/r mapping issues.
- Flexibility: Objectivity/DB supports virtually any type of deployment, including embedded devices that simply cannot fail, data services on single machines, and vast distributed data and systems that span virtually any number of servers. Each Objectivity/DB federation provides a single logical view to more than 65,000 databases.
- ACID Transactions: Objectivity/DB provides complete support for Atomicity, Consistency, Isolation and Durability.
- Replication: Objectivity/DB databases can be replicated to multiple locations so that applications can have local copies of relevant data. All of the necessary controls (locking and quorum negotiation) are managed by the Objectivity/DB software.
- No Database Server: Enabling maximum performance with minimal physical constraints, Objectivity/DB does not rely on a database server like many traditional database technologies, but instead consists of a small application library linked into the application, a lock-server process and a page-server process. The lock-server and the page-server are lightweight applications that manage locks and data pages for all of the Objectivity/DB applications accessing a federated database.
- Schema Evolution: Complete support for schema evolution, allowing schema definitions to evolve over time to handle new requirements without jeopardizing existing data. The data shapes are evolved as needed to reflect the schema shapes.
- Object Clustering: You have full control to place related objects closer to each other on disk, often on the same disk page. This feature can greatly accelerate application performance.
- Scalable Collections: Objectivity/DB provides a broad range of scalable collections to enable data indexing in several ways, including Sets, Lists, and Maps.
- Object Relationships: Relationships alleviate the need to perform joins to access related data by allowing the creation of persisted "pointers" between objects that applications follow to retrieve related objects. This capability can improve performance by orders-of-magnitude over SQL joins.
- Fully Distributed, Peer-to-Peer Solution: Objectivity/DB's uniquely distributed architecture supports many data models. Organizations can distribute the applications and leave the data on a centralized server, or distribute the data across hundreds or thousands of computers and support centralized applications, or distribute the applications and the data. Developers can also use replication to move copies of data closer to their point-of-use.