views:

56

answers:

2

Does anyone have any pointers to information on techniques for object database to relational database conversion?

I've done the standard searches and have only come up with Data Conversion from Object-Oriented to Relational database so far. It's a good paper, but I was hoping for more....

A: 

I should have that here somewhere, let me look, it should be somewhere close to that paper Upgrading from c# to cobol :)

Basically all documentation on ORM technology (like Hibernate, Toplink) can help you. You'll probably run into issues getting good performance, handling behaviour, and object versions.

[edit] An object database for a c program? Or a persistence engine (like ctree?)

[edit2] So it's not an object database but a persistence engine, no object versions, storing of behaviour? Then the general style could be of a network or hierarchical database. What API do you have? Can you intercept calls?

Stephan Eggermont
Have you ever seen a Win32 C program that accesses a hand rolled object database via an executable runtime with via a C API (and the database has run out space and can't be extended?) I have, unfortunately.....
Jeff Leonard
If the runtime uses c-tree the developers went to great lengths (successfully) to keep any c-tree stuff from leaking into the run-time API. My best guess, is that this is someone's idea for allowing post-hoc extensibility while not providing enough information to allow someone to reverse engineer the software.
Jeff Leonard
Sorry, if I wasn't being clear. It really is an object database. It has objects, classes, inheritance and methods that are serialized into the data store (which I was speculating might have been implemented using c-tree ISAM). As far as I can tell, the db is not based on a commercial product and has a fixed maximum size baked into it (which my client is butting up against). The DB runtime was developed (as a redistributable) specifically for an application that was extensively customized for my client and I don't have access to the sources for the db runtime or the people who wrote it.
Jeff Leonard
A: 

Which ODBMS are you converting from? If it's simply a matter of scalability or functionality you should consider moving to a commercial ODBMS or db4objects. If the application uses an ODBMS because an RDBMS wasn't performing well then moving back to one probably isn't a good idea. If you have to move to an RDBMS for another reason I'd look at Hibernate, but there will be a performance penalty and you'll have to maintain the mapping layer forever.

As far as I can tell, it's not a commercial ODBMS. It appears to have been developed for a specific product and baked into a redistributable runtime.
Jeff Leonard