orm para python

lasizoillo lasizoillo en gmail.com
Vie Ene 16 15:12:46 CET 2009


2009/1/16 damufo <damufo en gmail.com>:
> Hola:
> Me gustaría conocer alguna opinión sobre ventajas en inconvenientes o
> experiencia con los distintos orm para python, o por lo menos de sqlalchemy
> (elixir?) y storm
> Sirven todo para lo mismo? hai alguno especializado en algo?
> No se porque mo tivo me parece mas simple el uso de sql directamente y no se
> si debería ser así. Puede que no acabe de entender el concepto.
> Saludos y gracias.
>

Si quieres hacer algo ad-hoc para una unica base de datos, quizá no
haya tanta diferencia, pero en el momento que quieres hacer algo que
quieras que funcione en mas de un motor de base de datos la diferencia
es clarisima.

Los diferentes gestores implementan el estandar SQL de una manera muy
libre y relajada. Un ORM te ayuda a que todo (creacion de esquema,
consultas, ...) sea trasparente.

Hay tipos de particionado (horizontal y vertical) que son mucho más
sencillos de hacer con un ORM.

Ejecutar procedimientos almacenados es una opción que te hace casarte
con un gestor en concreto. Puedes usar el ORM para capturar eventos
antes y despues de inserciones, updates, ... para hacer el equivalente
portable a los mismos. Eso dá simplicidad y limpieza al código.

A la larga hacen la programación más fácil. Todo esto es directamente
proporcional a las abstracciones que el te permita hacer e
inversamente proporcional a lo engorroso que sea usarlas. Si, lo malo
es la inversion en tiempo para aprenderlas :-(

Algunos links a ver si te pica el gusanillo por sqlalchemy ;-)
http://techspot.zzzeek.org/?p=33
http://lucumr.pocoo.org/2009/1/3/sqlalchemy-patterns-in-zine

Fijate que con el declarative_base de la version 0.5 de sqlalchemy
casi que te puedes olvidar de elixir.

Como te imaginarás, uso sqlalchemy (y mira que me parecia engorroso al
principio).

Un saludo:

Javi
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es