Wrapper para dbapi2

Pepe Aracil pepe en diselpro.com
Sab Jul 29 00:29:18 CEST 2006


Gracias a los dos por responderme.

Creo que voy a aventurarme a hacer un wrapper transparente para la dbapi. Ya
que son muchas lineas de código escrito y como bien comentas es muy 
tedioso mantener un pool de conexiones de lectura y escritura.

En cuanto al hecho de tener que realizar SELECT sobre la conexión de escritura,
supongo que se podrá hacer un seguimiento de las transacciones (no es mi caso
ya que no uso transacciones en esta app) y desviar el SELECT al host de escritura siempre
que esté dentro de una transaccion. 

Saludos.



Hernan M Foffani escribió:
>> ...
>> La otra opción es hacer un wrapper de la dbapi2 de forma que sea
>> transparente para la aplicación tanto el rounddobin como la
>> escritura forzada en el servidor A.
>> La idea es analizar la cadena que se le pasa al "execute" y si es
>> un select se va a un host (al que le toque el turno) y si es una
>> operación de escritura se va al host A.
>>
>> ¿Alguien se ha encontrado en esta misma situación?
> 
> 
> Yo he hecho algo parecido (en otro lenguaje y en otra SGBD)
> Como tú, he pensado en hacer algo transparente pero al final
> me decanté por tener dos conexiones (o pool de conexiones)
> a la vez, la de escritura y la de lectura.
> 
> El problema es que suele ser necesario hacer SELECTs sobre
> la conexión de escritura porque estás dentro de una transacción.
> Por ejemplo, para leer el valor asignado a una columna de auto
> incremento.
> 
> Si puedes usar lo que te sugirió Chema aprovéchalo. Es bastante
> tedioso programarlo a mano.
> 
> -H.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> 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