Tuesday, July 28, 2009

Database Abstraction Layers

An ORM abstracts an application's interaction with a database to interactions with objects represented by data in the database. Traditionally these databases have been table-based relational systems using SQL... but lately I keep seeing a lot of non-traditional systems getting press. These systems each offer a different set of strengths and capabilities and often non-SQL interfaces.

What I wonder about is, how difficult is it going to be to use these new databases effectively with existing ORMs? I understand that some are already "transparent" object stores, but even then there are always decisions to be made by the programmers as to how often to persist, what composes a transaction, how many records/objects to retrieve for a request...

Is there any existing ORM that can handle all these needs with both traditional SQL databases and the "new breed" of column/document/object/whatever databases?

No comments:

Post a Comment