What's Wrong With ORM
Matt S Trout
dbix-class at trout.me.uk
Sat Mar 25 12:37:42 GMT 2006
Nigel Hamilton wrote:
>
>> Nigel Hamilton <nigel at turbo10.com> wrote:
>>> Why do we even have an ORM problem?
>>> It seems like eons ago that programmers suffered from limited diskspace
>>> ... back then normalisation was required to break things into multiple
>>> 'related' tables to avoid data being repeated. Thanks also to the
>>> tyranny
>>> of disk seek times and the need for indices the relational model was
>>> born
>>> along with the database management systems to police it.
>>
>>> But things are moving on - we've got lots of disk and tons of RAM. Who
>>> needs tight 70 pants when you can hang loose? ;-)
>>
>> A relational database is a collection of facts, and normalising them is a
>> way to ensure there are no contradictions. If you think DRY is just a
>> memory-saving optimisation, you've rather missed the point.
>>
>
> Hmmm ... my point was that some of the itches the relational model
> sought to scratch (optimising disk retrieval and storage etc) are no
> longer as itchy. Which presents an opportunity ...
>
> The relational model is great for facts. But my other point was there is
> an interaction layer on top of the facts. If we all thought like Mr
> Spock a universe of facts would be fun.
>
> I don't know about you, but I spend most of my time shoe-horning the
> real world into relational facts. Sadly the world is constantly changing
> and there is always a tension between the real world and the relational
> model. Either the model changes, the real world plays along, or you get
> a total disconnect (we need a new system!!!).
>
> But now we've got more flexibility (more RAM, disk etc) and we can
> overlay the relational model with something more exotic ... a new type
> of ORM layer ... and I was suggesting a place to look is in modelling
> how people actually/truly/really use the information - not the
> information itself:
I'm fairly sure what you actually want here is an RDF store, perhaps one with
OWL integration into $language_of_choice
http://gigaton.thoughtworks.net/~ofernand1/DeepIntegration.pdf
is a mine of ideas on the subject, and there are already some rather cool perl
modules for straight RDF usage in perl, notable RDF-Helper (which I believe is
currently only in sf.net CVS rather than on CPAN but very promising indeed).
There's also been some interest in making RDF an alternative store for
DBIx::Class, but whether that'll turn out to be a good idea or not I can't
really say at this stage :)
--
Matt S Trout Offering custom development, consultancy and support
Technical Director contracts for Catalyst, DBIx::Class and BAST. Contact
Shadowcat Systems Ltd. mst (at) shadowcatsystems.co.uk for more information
+ Help us build a better perl ORM: http://dbix-class.shadowcatsystems.co.uk/ +
More information about the london.pm
mailing list