Futuras Tareas de Implementaci�n para el OGEC de Postgres

Mejoras B�sicas

Mejora en la liberaci�n de memoria cuando la consulta ya se ha procesado

Para largas consultas de tipo uni�n el gasto de tiempo de computaci�n para un optimizar gen�tica de la consulta parece ser una simple fracci�n del tiempo que necesita Postgres para la liberaci�n de memoria mediante la rutina MemoryContextFree, del archivo backend/utils/mmgr/mcxt.c. Depurando se mostr� que se atascaba en un bucle de la rutina OrderedElemPop, archivo backend/utils/mmgr/oset.c. Los mismos problemas aparecieron con consultas largas cuando se usa el algoritmo normal de optimizaci�n de Postgres.

Mejora de las configuraciones de los par�metros del algoritmo gen�tico

En el archivo backend/optimizer/geqo/geqo_params.c, rutinas gimme_pool_size y gimme_number_generations, ha de encontrarse un compromiso entre las configuraciones de par�metros para satisfacer dos demandas que compiten:

  • Optimizaci�n del plan de consulta

  • Tiempo de computaci�n

Busqueda de una mejor soluci�n para el desbordamiento de entero

En el archivo backend/optimizer/geqo/geqo_eval.c, rutina geqo_joinrel_size, el valor para el desbordamiento MAXINT esta definido por el valor entero de Postgres, rel->size como su logaritmo. Una modificaci�n de Rel en backend/nodes/relation.h tendr� seguramente impacto en la implementaci�n global de Postgres.

Encotrar soluci�n para la falta de memoria

La falta de memoria puede ocurrir cuando hay m�s de 10 relaciones involucradas en la consulta. El archivo backend/optimizer/geqo/geqo_eval.c, rutina gimme_tree es llamado recursivamente. Puede ser que olvidase algo para ser liberado correctamente, pero no se que es. Por supuesto la estructura de datos rel de la uni�n continua creciendo y creciendo; muchas relaciones est�n empaquetadas dentro de ella. Las sugerencias son bienvenidas :-(

Referencias

Informaci�n de referencia para algoritmos GEQ.

The Hitch-Hiker's Guide to Evolutionary Computation, J�rg Heitk�tter y David Beasley, Recurso de InterNet, The Design and Implementation of the Postgres Query Optimizer, Z. Fong, University of California, Berkeley Computer Science Department, Fundamentals of Database Systems, R. Elmasri y S. Navathe, The Benjamin/Cummings Pub., Inc..

FAQ en comp.ai.genetic esta disponible en Encore.

Archivo planner/Report.ps en la documentaci�n de postgres en la distribuci�n.