この節では MySQL 開発当初のアプリケーションを説明します。
MySQL の初期開発当時は、最大顧客に合わせて MySQL の機能が開発されてきました。この機能は、スウェーデンの最大小売商数社向けにデータウェアハウスを処理するものです。
すべての店舗からボーナスカード取引すべてのサマリを毎週取得し、店舗の所有者が顧客に対する広告キャンペーンの効果を調べる際に役立つ情報を提供するように求められています。
このデータは非常に大量 (1 か月に約 700 万のサマリー取引) で、ユーザーへの提示に必要な 4 - 10 年間のデータを保有しています。このデータから新しいレポートに '即時' アクセスできるようにしたいという顧客からの要求が毎週ありました。
1 か月ごとにすべての情報を圧縮 「トランザクションテーブル」 に格納することでこの要求を解決しました。トランザクションテーブルからさまざまな基準 (製品グループ、顧客 ID、店舗など) によって分類されたサマリーテーブルを生成する単純なマクロセットを用意しました。レポートは Web ページ形式で、短い Perl スクリプトから動的に生成されます。このスクリプトは、Web ページを解析し、SQL ステートメントを実行して、結果を挿入します。PHP または mod_perl の使用のほうが適していますが、その当時は利用できませんでした。
グラフィカルデータについては、SQL クエリーの結果とその結果をもとに GIF イメージを生成する簡単なツールを C で作成しました。これも HTML ファイルを解析する Perl スクリプトから動的に実行されます。
ほとんどの場合、既存のスクリプトをコピーし、その SQL クエリーを修正することで新規のレポートを簡単に実行することができます。状況によっては、既存のサマリーテーブルにカラムを追加したり、新規のテーブルを生成することが必要な場合もあります。ディスク上にすべてのトランザクションテーブルを保存しているため、この処理も非常に容易です。(現在、少なくとも 50 G のトランザクションテーブルとその他の 200 G の顧客データを保持しています。)
顧客は、ODBC によってサマリテーブルに直接アクセスすることができ、上級ユーザーであれば各自でデータを処理することができます。
かなり控えめな Sun Ultra SPARCstation (2×200MHz) を使用した処理でも、何も問題が発生していません。徐々にシステムは Linux に移植されていきました。