Re: Python para altos volúmenes de datos

Cesar Cardenas Desales cescd en yahoo.com.mx
Mar Mayo 31 20:17:19 CEST 2005


Muchas gracias, buenos consejos. 

Solamente hago una aclaración. Al escribir Python me
refiero a la PVM, a la implementación de Python, no al
lenguaje. Solamente conozco unas cuantas
implementaciones de Python: la de referencia,
ActivePython, Stackless, Jython y alguna otra que se
me escape.

El problema con aquel analizador que comentaba, es que
el error que surgía era críptico:

http://listas.aditel.org/archivos/python-es/2004-April/009494.html

Saludos

   César

 --- Joaquin Jose del Cerro Murciano
<jjdelcerromurciano en yahoo.es> escribió:

> 
> Hola, 
> 
> Personalmente aun no me he tropezado con tener que
> manejar una aplicaccion en 
> python del calibre que pareces indicar. Ahora bien,
> llegue a python desde Vb 
> y alli si que me las tube que ver con ese tipo de
> aplicaciones. Normalmente 
> el problema no suele estar en el lenguaje de
> programacion. Cuando te 
> tropiezas con un rompecabezas de ese estilo el truco
> esta en un diseño de 
> aplicacion y base de datos apropiado, y generalmente
> muy poco ortodoxo.
> Si sales por la calle de en medio y al final para
> hacer la explotacion tienes 
> que recorrerte un par de millones de registros de
> una BD y hacer operaciones 
> con ellos vas mal, y ademas no importa el lenguaje
> que uses.
> 
> Elije un buen gestor de base de datos y centrate en
> el diseño y alimentacion 
> de esa base de datos, pensando en facilitarte luego
> las tareas de 
> explotacion.
> 
> Para que te hagas una idea. La ultima aplicacion
> gorda que hize (con vb y 
> sqlserver), tiene ya un par de tablas con unos 15
> millones de registros, y 
> para que andase hay que deshabilitar las
> optimizaciones del propio gestor de 
> BD, y que tire de los indices que yo le digo. Ademas
> en el momento de 
> insertar los datos se hacen todos los calculos que
> se puede y se guardan ya 
> hechos para facilitar la explotacion. Si cuando me
> piden un informe tubiuese 
> que calcularlo todo el usuario se podria ir a
> hecharse una siesta antes de 
> que estubiese.
> 
> Hace poco he tenido que hacer algo en python que
> maneja cartografia, y los 
> datos cartograficos que tengo ocupan unas 5 Gb
> (shps+dbfs). El truco esta en 
> organizarlo de forma que no tengas nunca que
> recorrerte los 5Gb en python 
> para hacer algo con ellos. Los organizas de forma
> que puedas recortar la 
> informacion a la hora de procesarla. Y apesar de
> ello, pintar un mapa supone 
> mover unas 500.000 lineas. Pues te toca optimizar tu
> codigo, y ademas a mano. 
> Y al final encuentras que hay partes que aun asi no
> puedes hacer nada con 
> ellas. Si tienes una funcion que es llamada
> 500.000.000 veces, al final pasas 
> del python y la compilas en pyrex, y puedes reducir
> el tiempo asta un 60%, y 
> algunas las hize en C+swig y les llegue a sacar un
> 90%. Pero basicamente, 
> invocar a una funcion 500 millones de veces, si la
> funcion esta en python, es 
> lento; pero si esta en casi cualquiercosa tambien es
> lento.
> 
> Resumiendo, python es apto para un volumen de datos
> grande ? 
> 
> Depende de como te lo puedas montar y de tu gestor
> de BBDD (a veces debes 
> prescindir de un gestor de BBDD para obtener mejores
> rendimientos, pero no es 
> lo normal).
> 
> Como nota final, 
> despues de ... muchos años de VB y Micorsoft, hace 3
> años que trabajo con 
> python como lenguaje de proposito general para mis
> aplicaciones, y uso 
> PostGreSQL como gestor de BD.
> Aun no me he arrepentido.
> 
> Un saludo
> Joaquin.
> 
> El Martes, 31 de Mayo de 2005 19:02, Cesar Cardenas
> Desales escribió:
> > Saludos:
> >
> >    Estoy muy próximo a iniciar un nuevo proyecto,
> > donde una de los pocas cosas ciertas que hay es
> que la
> > carga de datos será muy grande: es un proyecto a
> nivel
> > nacional(México) para la evaluación de varios
> aspectos
> > del sistema educativo. Como consecuencia estoy
> > previendo tener una gran cantidad de datos
> > provenientes de los varios millones de niños y
> > profesores que se evaluarán constantemente.
> >
> >    Gustosamente estoy pensando usar Python para mi
> > proyecto, sin embargo, tengo mis dudas. Ya una vez
> > tuve una amarga experiencia con un analizador
> > léxico/sintáctico escrito en python que no soportó
> una
> > gramática bastante grande que le proporcione, y
> que
> > tuve que implementar en Java.
> >
> >    ¿Alguien ustedes utiliza o ha escuchado de
> alguien
> > que utilice python para grandes volúmenes de
> datos?
> > ¿Deberé volver nuevamente a Java con la cola entre
> las
> > patas? ¿Podré confiar en mod_python para la parte
> de
> > Web? ¿Servlets en Jython serán una mejor opción
> que
> > mod_python? ¿Scipy y Numpy podrían salvar mi
> orgullo
> > de Pythonista?
> >
> >    Saludos
> >
> >    César
> >
> >
> >
> >
> >
> >
>
___________________________________________________________
> > Do You Yahoo!?
> > La mejor conexión a Internet y <b >2GB</b> extra a
> tu correo por $100 al
> > mes. http://net.yahoo.com.mx
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> 
> 
> ______________________________________________
> Renovamos el Correo Yahoo!
> Nuevos servicios, más seguridad
> http://correo.yahoo.es
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 


__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.yahoo.com.mx/ 




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