(mysql.info.gz) Internal use
Info Catalog
(mysql.info.gz) Portability
(mysql.info.gz) Optimize Overview
(mysql.info.gz) MySQL Benchmarks
7.1.3 What We Have Used MySQL For
---------------------------------
This section describes an early application for MySQL.
During MySQL initial development, the features of MySQL were made to
fit our largest customer, which handled data warehousing for a couple
of the largest retailers in Sweden.
From all stores, we got weekly summaries of all bonus card transactions,
and were expected to provide useful information for the store owners to
help them find how their advertising campaigns were affecting their own
customers.
The volume of data was quite huge (about seven million summary
transactions per month), and we had data for 4-10 years that we needed
to present to the users. We got weekly requests from our customers,
who wanted to get "instant" access to new reports from this data.
We solved this problem by storing all information per month in
compressed "transaction" tables. We had a set of simple macros that
generated summary tables grouped by different criteria (product group,
customer id, store, and so on) from the tables in which the transactions
were stored. The reports were Web pages that were dynamically generated
by a small Perl script. This script parsed a Web page, executed the SQL
statements in it, and inserted the results. We would have used PHP or
mod_perl instead, but they were not available at the time.
For graphical data, we wrote a simple tool in C that could process SQL
query results and produce GIF images based on those results. This tool
also was dynamically executed from the Perl script that parses the Web
pages.
In most cases, a new report could be created simply by copying an
existing script and modifying the SQL query in it. In some cases, we
needed to add more columns to an existing summary table or generate a
new one. This also was quite simple because we kept all
transaction-storage tables on disk. (This amounted to about 50GB of
transaction tables and 200GB of other customer data.)
We also let our customers access the summary tables directly with ODBC
so that the advanced users could experiment with the data themselves.
This system worked well and we had no problems handling the data with
quite modest Sun Ultra SPARCstation hardware (2x200MHz). Eventually the
system was migrated to Linux.
Info Catalog
(mysql.info.gz) Portability
(mysql.info.gz) Optimize Overview
(mysql.info.gz) MySQL Benchmarks
automatically generated byinfo2html