問題作成
2003-12-07T00:00+09:00 matsu
このページでは練習用DBの問題作成を行なって,以降のページでそれをPostgreSQL上に構築し,その過程でSQL入門していこうと思う.
私はDB構築に関する経験がない.理由は,「日常生活でDBを使用するほど膨大なデータを扱って何かをする」という必要性がないからだ.興味はあるのだが,何せデータがない.ちょっとしたデータだとDBをやる面白味がないような気がして今まで取り掛かれずにいた.だが,いつまでもこういう状態では,一人の人間として問題があるような気がしないでもないので,思い切ってやってみようと思う.前置きが長くなったが,お題は
クラスタシステムのベンチマーク計測結果DB
にする.いろんなクラスタがあって,それぞれでいろんなベンチマークを計測してその結果を突っ込む.そして検索,参照する.
問題を作成してみる.あくまでDB構築の練習なので,ざっくりとしたものにする.クラスタのデータとして格納するデータは以下とする.
- クラスタID
- クラスタ名
- CPU数
- CPUクロック
- メモリ容量
- ネットワーク
ベンチマーク計測結果として格納するデータは以下とする.
- 結果ID
- クラスタID
- パラメータ値
- 計測結果
- 計測日
ベンチマークによってパラメータが異なるので,ベンチマーク毎にテーブルを分ける.したがってベンチマーク名はフィールドとしてはない.
クラスタのデータを格納するテーブルclusterのサンプル.
| クラスタID | クラスタ名 | CPU数 | CPUクロック(GHz) | メモリ容量(MB) | ネットワーク |
| 1 | hoge | 256 | 1.5 | 512 | 100BASE-T |
| 2 | fuga | 512 | 2 | 1024 | 1000BASE-TX |
ベンチマークは二種類考えてみる.まずLinpackの計測結果を格納するテーブルresult-linpackのサンプル.パラメータがやたら多いので,抜粋.データの値は適当なので注意.
| クラスタID | N(パラメータ) | NB(パラメータ) | Gflops(計測結果) | 計測日 |
| 1 | 1024 | 32 | 1 | 2003-12-6 |
| 1 | 1024 | 64 | 2 | 2003-12-7 |
| 1 | 2048 | 32 | 3 | 2003-12-8 |
| 2 | 1024 | 64 | 4 | 2003-12-9 |
| 2 | 1024 | 16 | 5 | 2003-12-6 |
次にNetPipeの計測結果を格納するテーブルresult-netpipeのサンプル.
| クラスタID | type | 送受信データサイズ(パラメータ) | Mbps(計測結果) | 計測日 |
| 1 | tcp | 1 | 10 | 2003-11-1 |
| 1 | lam | 10 | 50 | 2003-11-1 |
| 2 | tcp | 100 | 10 | 2003-11-1 |
| 2 | tcp | 1000 | 100 | 2003-11-1 |
| 2 | mpich | 10000 | 500 | 2003-11-1 |
以上を踏まえてer図を書いてみた.
ちょととダメな雰囲気も感じるが,以降のページでこれをもとにDBを構築していく.