Esta sección describe un uso inicial de MySQL.
Durante el inicio del desarrollo de MySQL, las características de MySQL fueron pensadas para ajustarse a nuestro cliente más grande, que hacía data-warehouse para un par de los mayoristas más grandes de Suecia.
Desde todas las tiendas obteníamos resúmenes semanales de todas las transacciones con tarjetas de bonos, y se esperaba de nosotros información útil para que los dueños de las tiendas entendieran cómo sus campañas publicitarias afectaban a sus propios clientes.
El volumen de datos era enorme (cerca de siete millones de transacciones resumidas por mes), y teníamos datos de 4-10 años que debíamos presentar a los usuarios. Teníamos peticiones semanales de nuestros clientes, quienes querían acceso instantáneo a los nuevos reportes de esta información.
Solucionamos este problema almacenando toda la información por mes en unas “tablas de transacciones” comprimidas. Teníamos una serie de sencillas macros que generaban resúmenes de tablas agrupados por diferentes criterios (grupo de productos, id del cliente, tienda, etc) a partir de las tablas en las que fueron almacenadas las transacciones. Los reportes eran páginas Web que eran generadas dinámicamente por un pequeño script escrito en Perl. Este script analizaba la página Web, ejecutaba una sentencia SQL y escribía los resultados. Debimos usar PHP o mod_perl en vez de eso, pero no estaban disponibles en aquel entonces.
Para datos gráficos, escribimos una sencilla herramienta en C que podía procesar los resultados de una consulta SQL y generar una imagen GIF basada en los resultados. Esta herramienta también era dinámicamente invocada desde el script en Perl que analizaba las páginas Web.
En la mayoría de casos, se podía crear un nuevo reporte simplemente copiando un script existente y modificando la consulta SQL que utilizaba. En algunos casos, necesitábamos agregar más columnas a una tabla de resumen existente o generar una nueva. Esto también fue sencillo puesto que guardábamos todas las tablas con las transacciones en disco. (El tamaño era de alrededor de 50GB de tablas de transacciones y 200GB de otros datos del cliente.)
También permitimos a nuestros clientes acceder a las tablas de resumen directamente con ODBC, para que los usuarios avanzados pudieran experimentar con los datos por sí mismos.
Este sistema trabajó bien y no tuvimos problemas elaborando los datos en un modesto servidor Sun Ultra SPARCstation (2x200Mhx). Finalmente el sistema fue migrado a Linux.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.