From: Hannes Wyss Date: 2006-02-07T23:22:23+09:00 Subject: Re: [ANN] ODBA 1.0.2 Hi Michael > Really interesting work, but I'm not sure, but your approach reminds me of Og > - are you aware of that and could you give a short summary of the differences > between them? > you can find Og at http://www.nitrohq.com/view/Og thanks, I had in fact heard of Og, but did not know exactly what it did. I think the main difference between ODBA and any ORM (Object Relational Mapping) - such as Og - is that ODBA isn't really an ORM. The main differences, as far as I can see are: - Where a good ORM will create and update a Database Schema according to the known mapped classes (and with a less automated one you have to do the job manually), ODBA does not change the database Schema, except when creating or dropping an index. - In a ORM, each attribute of an object needs to be stored in a Field with a defined and static Type. In ODBA, dynamic typing is preserved. The reason for this is that ODBA stores entire Objects in a deconnected and marshalled form, leveraging the strengths of whichever Marshaller (I've tried Marshal and YAML) is used. The Downside of this is obviously that using ODBA/Marshal and to a lesser extent ODBA/YAML means subscribing to a lockin - i.e. not being able to access the same data from a non-ruby application. And if ad-hoc queries are needed, or data needs to be repaired manually etc., this can only be achieved through a ruby script (irb to the rescue!). Did this answer your question? All the best Hannes