An OODBMS is the result of combining object oriented programming principles with database management principles. A primary feature of an OODBMS is that accessing objects in the database is done in a transparent manner such that interaction with persistent objects is no different from interacting with in-memory objects. Moreover using an ODBMS you stay closer to your programming language of choice when dealing with persistence and avoid the pitfalls of the object-relational mismatch.
Most applications use a relational database as their data store while using an object oriented programming language for development. This causes a certain inefficiency as objects must be mapped to tuples in the database and viceversa. Why not getting rid of this complex mapping process by using a database that follows the same model as your application? Enter the Object Database!
Wondering when to use an object database vs. a relational database? The reality is that there are situations in which a relational database will work just fine. But there are certain applications where an object database will provide a much superior solution.
Which applications? Whenever you are developing an application that deals with a complex object domain often characterized by deep nested object trees, multiple ad-hoc relationships and, in general, a data model that suffers a performance penalty when performing multiple JOINs operations as seen in RDBMSs.
From Big Data to ultra-embedded data management scenarios, Versant offers a set of products in the object database market to fit your needs:
The less time developers spend on cumbersome persistence code, the more they can focus on building truly differentiated products, which leverage persistence capabilities for previously unthinkable 'smart' architectures. From embedded solutions to enterprise grade scalable data management you'll feel the difference of working closer to your objects with Versant's products (no mapping, no conversions, no trade-offs).
The difficulty of transitioning from object-oriented thinking to relational presistence comes from the fact that the schema in the database doesn't match your application schema and you are forced to bridge that gap. Transformation between representations in memory and what goes to disk often take a good share of your CPU processing power. With an object database your application schema IS your data schema. With no mapping required and no extra work you get ease of use and higher performance.
Access to patches, license management,
tech docs and more for existing VOD customers.
Start Building your Engine Now
Here for you 24/7
Create a common base class in your domain and implement the required changes to support db4o's TransparentActivation...
Check out this community contributed snippet for adding db4o via a Maven POM file...
As a first step towards shifting our platform commitment towards JDK 5 and higher, we have upgraded the db4o OSGi bundle to Java 5...
We are proud to announce that the developer behind these libraries released compatible versions for Silverlight so we took the time and now you can run LINQ queries against db4o on Silverlight