Systemsは、「POWER」CPUを搭載したIBMのUNIXサーバーのシリーズ。OSとしてAIXやi5/OS(いわゆるOS/400)の他、Linuxも利用できる。DB2が対応している。基本的なところはこのくらいにして、DB2ならではの機能を紹介していきますね。どんなRDBMSでも、データベースを設定するためのパラメータって50個とか100個とか、たくさん数がありますよね。それを全部、いい感じの値に設定するのって結構しんどいじゃないですか。DB2には、それらを自動化する機能があります。Manager(STMM)っていいます。賢くて、自己学習型なんですよ。データベースって用途がいろいろあるじゃないですか。決済システム使うとか、ショッピングカートとか、特性ってそれぞれ違います。特性それぞれにあったパラメータがあるはずです。それを決める仕組みがルールベースでは難しいので、自己学習型にしました。具体的には、DB2が受け取るSQLをずーっと観察して、DB2がこのパラメータをこっちに変えたらどうなるかなーってのを観察して、そうしていろいろなパラメータを上下させながら学習していくってものです。なんかすごそう......。STMMが値を変えるタイミングは、デフォルトでは3分間のポーリングです。3分単位で、観察、値の変更、学習の三つを繰り返します。観察するのは、その間に流れるクエリー▼、レコードの内容、ヒープ▼の使い方などです。それでどうもソートが多いからソートヒープ▼を広げてみようとか。おやつをプレゼントです。札幌プティドーナツ▼をどうぞ。(もぐもぐ)これおいしい。中のクリームにいろいろな種類があるそうです。揚げてなくて、人形焼みたいに金型で焼いた小さなドーナツです。していてパクパクいけます。(もぐもぐ)これチョコだ。クライアントからデータベースサーバーに接続して、SQL文などで問い合わせをすること。その問い合わせそのもの。探索などで確保するメモリー領域のこと。データに対して、ヒープの容量が少なすぎる場合、処理速度が落ちる。ソート(並べ替え)に用いるヒープのこと。カスタがプロデュースする直径3.5cmの焼きドーナツ。ほったらかしで3倍のパフォーマンスに――あ、私もドーナツいただいていいんですか......いただきます(もぐもぐ)。ところで自動チューニングがどんな感じで動くか、例があれば見てみたいんですが。(もぐもぐ...)おっと、あ、はい。OLTP▼系のベンチマークの例があります。STMMの学習例がこれです。縦軸がトランザクション▼数で、上の方が高性能です。最初、重いベンチマークをセットして、デフォルトで1分あたり4万5000クエリー処理しています。45分くらいたつと、値が上下に振れ始めます。1時間半くらい経つと、だいたい3倍弱の1分あたり14万クエリーになります。調整したあとも、最後収束していくんですね。安定するまでやるみたい。