[Python-es] ORM de django vs SQLAlchemy

Jose Caballero jcaballero.hep en gmail.com
Mie Mar 17 15:39:12 CET 2010


El 16 de marzo de 2010 19:54, lasizoillo <lasizoillo en gmail.com> escribió:

> El día 16 de marzo de 2010 20:12, Jose Caballero
> <jcaballero.hep en gmail.com> escribió:
> > Hola,
> >
> >
> > necesito una comparación objetiva (no basada en experiencia ni opiniones
> > personales) entre el ORM de django y SQLAlchemy. He buscado un poco en
> > google, pero casi todo lo que encuentro es feedback, gente contando su
> > experiencia personal, etc.
> > Si alguien tiene un link donde pueda ver una comparación técnica entre
> ambos
> > sistemas estaría enormemente agradecido. Si lo encuentro yo antes lo
> mandaré
> > a la lista.
> >
>
> Creo que vas a tener que dar tu información subjetiva de lo que es
> útil en una comparación objetiva. A bote pronto se me ocurren varias
> decenas de cosas a comparar de una manera "objetiva".
>
> Un ejemplo de comparación "objetiva" es hacer un test de velocidad de
> consultas. Ambos orm's tienen una capa de abstracción sobre un acceso
> raw a la base de datos. El raw en ambos casos es mucho más rápido que
> el más abstracto, pero no creo que esto sea relevante porque no es el
> modo de trabajo normal. Aunque compares ambos orm's en modo raw y en
> modo orm, aún queda una prueba que hacer: SQLAlchemy tiene soporte de
> varias bases de datos que Django no tiene en la versión estable
> (posiblemente salga a finales de este mes o a lo largo del siguiente).
> Con soporte multidatabase y un sistema de replicación puedes hacer
> balanceo de consultas. Distintos grados de complejidad de querys
> pueden ofrecer diferentes datos de velocidades también.
>
> Si una cosa tan tonta como ver cuál es más rápido tiene un montón de
> complicaciones, imagina otros detalles como estabilidad, fiabilidad,
> documentación, ...
>
> Si dices que es lo que te interesa de un orm, te prometo ser lo más
> objetivo que pueda dentro de mis capacidades y limitaciones ;-)
>
> Un saludo:
>
> Javi
>


Hola Javi,

veo que tienes razón, y una comparación entre ambos productos no es tan
sencilla. Creo que necesito pensar en la pregunta antes de obtener una
respuesta, o ésta será 42.

El hecho de que django aún no de soporte estable a consultas multi-db es un
dato importante en mi caso. Tengo que lidiar con 3 bases de datos distintas
a la vez.

La velocidad no es, de momento, un factor crucial.

El otro factor que es importante para mí, y creo que ahí es donde se nota mi
inexperiencia, es que necesito crear clases que incluyan no sólo el
resultado de cada 'query' (por lo que asumo las clases serán en parte una
réplica de mi 'schema') sino además mis propios métodos para hacer análisis
estadístico con los resultados de los 'queries', etc. Aunque imagino que
será igual de fácil en ambos casos, con una simple herencia de clases o
similar.

En cualquier caso, muchas gracias por tu respuesta. Creo que necesito
estudiar más antes de poder plantear la pregunta de forma más precisa.


Saludos,
Jose
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100317/740c55b4/attachment.html>


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