Backend BerkeleyDB para DURUS

Jesus Cea jcea en argo.es
Mar Mar 21 12:16:06 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Pepe Aracil wrote:
> ¿Y porque no un backend SQL?

Aparte de que Álvaro dice claramente que no quiere SQL (yo prefiero
evitarlo como la peste también), usar DURUS te ahorra tener que tener un
servidor SQL detrás, y te permite programar 100% en python nativo.

Osea, DURUS no es un servidor de bases de datos, es un sistema de
PERSISTENCIA. No confundas una cosa con otra.

> Es decir, almacenar los objetos persitentes en campos memo, con la
> ventaja de poder hacer consultas complejas SQL con referencia a los
> objetos almacenados.

Chachi. Entonces te lo tienes que currar todo tú, serializando y
deserializando objetos, etc. Eso es justo lo que te proporciona DURUS.

Estoy aburrido de serializar/deserializar a SQL. Y cuando más lo hago
más se advierte la "inadaptación de impedancias" entre ambos mundos.
Hace tiempo, por tanto, que jubilé el SQL y lo hago todo en
persistencia, concretamente ZODB y DUrus.

En cuanto a las consultas, te construyes la consulta que te de la gana
con python, como debe ser.

> Está claro que es añadir una capa más. Servidor SQL + Servidor DURUS. Y
> no sé si podria afectar en algo al rendimiento global.

¿Quien habla de SQL?. No necesitas un servidor SQL.

Si te refieres a la BerkeleyDB, no tiene nada que ver con SQL. Si no
conoces BerkeleyDB te recomiendo que le eches un vistazo :p

> La unica experiencia que he tenido con objetos persistentes, son las
> variables de sesión de una aplicación web que he hecho. Y como he
> comentado, "pickleo" (bonito palabro) un diccionario y lo almaceno en un
> campo memo.

Justo, ese es el problema. Te lo tienes que currar a mano y necesitas un
SQL detrás. Con DURUS o similares, ni necesitas SQL, ni necesitas
currarte nada a mano, ni te tienes que preocupar de "pickear" nada, ni
de transacciones, ni nada de nada de nada.

Tu programas en python de toda la vida. Creas estructuras en memoria que
te de la gana. Matas el proceso. Lo relanzas. Tus estructuras siguen
ahí, en memoria (o eso te parece :-). En ningún momento has grabado nada
en ningún sitio, ni te has tenido que preocupar de serializar objetos y
lo que sea.

> ¿En que tipo de aplicaciones se suele utilizar DURUS?

Yo para todo lo que necesito guardar datos. Lo más reciente, los buzones
de correo de mi servidor SMTP, y hace unos días he pasado mi sistema de
facturación y albaranes de SQL a Durus. Resultado: un tercio del código
y unas 5 veces más rápido.

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea en jabber.org         _/_/    _/_/          _/_/_/_/_/
                               _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBRB/gdplgi5GaxT1NAQLXZwQAoIxKulW0ZLPIWtvpTyh/pK0+zL2vXQtn
0WtIOLuS1Zw7DIzoMvmXa5SSi2XtMMVa5OxpmmRb19yt+mtHIh0BN2T+nGC+wcsA
cBULhLAG3o7QviR4lIhvNbuzQQOKgdq9KREcBXlWV+pjpH5kp3UEhV5r0ebBG3ji
mFEaW+UuYNQ=
=iCVA
-----END PGP SIGNATURE-----
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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