Feb 9, 2008

ODBMS - Jugando con db4o...

Hace varios meses atrás googleando me encontré con db4o, una base de datos de objetos. Y aunque al principio era medio incrédulo sobre la posibilidad de que funcionara de la manera esperada, me puse a jugar con eso durante unas semanas. El resultado me pareció asombroso, es persistencia pensando puramente en objetos, nada de relacional, tablas, PKs, FKs, constraints, etc... Vale la pena aclarar antes de seguir adelante que no estoy en contra de las bases de datos relacionales, de hecho un ODBMS tiene serías limitaciones que un RDBMS no. Pero siempre hay que poner en la balanza los pro y los contra para poder sacar una conclusión.
El hecho es que mi sistema necesitaba una base de datos, no iba a compartir la información con otro sistema y tampoco tenia datos legacy, entonces me propuse hacer uso de DB4O. Como primer experiencia, me parecio fantástico. El simple hecho de crear un sistema de a poco, usando algo de TDD, implicaba tener que diseñar sobre la marcha el modelo a representar, con los consiguientes cambios en el modelo de objetos a utilizar, quitar y agregar propiedades en los objetos persistibles es en el modelo relacional un poco complicado porque implica tener que actualizar la base de datos, los mappings del ORM y algunas otras cosas mas. Esto no pasa con un ODBMS, puedo cambiar a gusto y piaccere las propiedades, guardar enums como una propiedad de un objeto y todo esto es transparente para mi modelo de persistencia.
Aún me queda mucho que probar y que investigar sobre este tema, pero quería dejar este comentario para que aquellos que quieran lo prueben, a mi me pareció muy bueno, ahorra tiempo en muchas cosas, y eso me parece feliz!

Bueno espero que lo puedan probar, sacar sus propias conclusiones y podamos comentar las experiencias.

Les dejo un articulo sobre esto que acabo de encontrar : 6 razones para no usar db4o

Saludos!
elmasse...