Esto va ha ser muy muy duro.

ammgroup ammgroup en arrakis.es
Lun Jul 21 17:46:03 CEST 2003


Ya se sabe, es duro empezar de nuevo.
Pretendo migrar de Windows + Visual Basic + Access a Todo + Python + 
Todo

Es decir; cualquier sistema operativo, utilizando el más amplio abanico 
de tipos de bases de datos.

Mi primer contacto ha sido seguir los primeros pasos que marca BOA y he 
realizado el ejemplo del "Simple Notebook".
Resultado "Genial", me he sentido el amo del universo. Rápido y 
eficiente.

El siguiente paso ha sido el enfrentarme a una base de datos. He 
escogido Access ya que la domino en VB.
He probado el ejemplo del capítulo 13 del "Python programming on Win32" 
llamado fastinsert.py
En él se evalúan varias formas de hacer un insert masivo de 
datos "Access" mediante mx.ODBC, alabando su gran rendimiento frente el 
uso directo de DAO.

El resultado ha sido convincente. Pero ...
He realizado el mismo ejemplo en Visual Basic y aquí pasa algo.
Si tratamos los insert mediante comandos SQL mx supera a VB "Genial", 
pero en el apartado DAO mientras con Python he tardado en meter 1000 
registros 9 segundos en VB sólo he tardado 0.5 segundos.
(Por lo que al final el rendimiento mejor es para VB + DAO).
Por otro lado mx requiere licencias si pretendes utilizarlo 
comercialmente.

Estoy mirando de hacer las pruebas con ADO, para ver si mejoran.
Y busco qué otras formas de acceso a Bases de datos puedo utilizar para 
mejorar el rendimiento.

Bajo estas condiciones no puedo sustituir mis sistemas en VB + access 
por otro más lento. Necesito que al menos sea igual de eficiente.

Si alguien tiene programas de test de rendimiento de bases de datos, 
pede echarme una mano ?. Con qué otra base de datos puedo mejorar estos 
rendimientos. Sobre todo teniendo en cuenta que puede que tenga de ser 
instalada en Windows 98 de forma local, es decir; nada de servidores de 
datos.

Mis aplicaciones necesitan un acceso a base de datos muy, pero que muy 
rápido y poder trabajar con millones de registros.

Me cuesta encontrar documentación lo suficientemente "documentada" para 
avanzar. Por ejemplo, he intentado modificar el ejemplo fastinsert.py 
para utilizar "anydbm", pero soy incapaz de encontrar un esquema 
detallado de como tratar esa librería, con las definiciones no tengo 
suficiente.

Resumiendo: SOCORRO !!!

Gracias.




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