The Legend of Data Persistence - Part 2
Endnotes
1 The very first effort to specify the features of ODBMS was the work of Malcolm Atkinson and others in 1989 with the ODBMS Manifesto
2 This simplistic implementation, besides the lack of functionalities, has several major drawbacks. First, searching of serialized objects requires all objects to be deserialized into memory first before an in-memory search can occur while deserialization is a extremely costly operation. Next, databases created by this implementation are not portable across platforms (e.g. Java to .NET) since the proprietary serialization mechanism of the host programming language is used. Finally, the serialization infrastructure will break down as soon as the object model evolves with new attributes, associations, and data types. An alternative could serialize objects into a custom XML format so that searching can be performed quickly using XPath, schema evolution and portability can be handled via the XML binding layer; but then, this is not simple anymore and it is usually better to make use an existing ODBMS system, like DB4O, instead
3 While these are hard, they are not impossible in native ODBMS such as DB4O which allows developers to change the default mapping rules in code (although awkward and should be avoided as much as possible), which we will see in Part 3 of the article
References
- Database Systems, Paul Beynon-Davies, Palgrave Macmillan, 2004
- Java Data Object, David Jordan and Craig Russell, O’Reilly, 2003
- [Barry, 2001], ODMG Compliance, Barry et al, Barry & Associates, Inc., 2001
- ODMG 2.0: A Standard for Object Storage, Doug Barry, Component Strategies, 1998
- ODBMS Manifesto, Malcolm Atkinson et al, University of Glasgow, 1995
- ODMG’s website: http://www.odmg.org/
- DB4O’s website: http://www.db4o.com/
- JDO’s website: http://java.sun.com/products/jdo/
- http://en.wikipedia.org/wiki/Object-oriented_database_management_system
- http://en.wikipedia.org/wiki/Java_Data_Objects












[...] Part 1, I will discuss about the object-relational (O-R) impedance mismatch, its consequences, and ORM [...]
[...] Part 1 and Part 2 of the article entitled The Legend of Data Persistence, I have introduced you to the O-R impedance [...]
Your entries about OODB are very nice. I am a novice of OODB. And they are useful to me. Thank you.
@New Age: You are welcome! I’m glad it’s helpful to you.
Hi. I’m wondering what happen when the source code of the application is lost and you need to move data to a new application.
@tibbs: I’m not exactly sure what you mean. If you’re talking about a “new application” here then what is the deal with the old app (whose source code is lost)?