・ユーザさんが投稿したテキスト
・クリックなど大量のログ
・広告表示のインプレッションログ
・宿泊予約サイトの比較用の大量のデータ
それ以外にも沢山。書き出すと、きりがないくらいたくさんの
いろんなデータが蓄積されています。
新機能の開発だけではなく、より表示速度を上げるためや、大量のデータを処理する為に、
日々SQLや、PHPの処理の改善、テーブル構造の検討、サーバの設定変更、ネットワーク、サーバ構成を考え直したりもしています。
時には、RCや、betaのバージョンのMySQLをいれることも。
今回、数千万件のデータを処理するMySQLが一台いるのですが、
さすがに毎日毎日大量のデータを処理しているため、
こういうのはプログラムのチューニングをするのがなかなか不安たっぷりです。
MySQL5.4での目玉は、
・パーティショニング(5.1からありましたが)
・マルチコアのCPU効率アップ
・joinのパフォーマンスアップ
書き出すときりがないくらい気になる項目ばかりです。
パーティショニングは、導入して1年半になりますが、
使い方次第ではめっちゃくちゃすごいです。
5000万件のtableのselectに2分かかってた処理が0.05秒くらいになったりとか、パーティショニングしだいでガッツポーズが出るくらいの効果がありました。
今回MySQL5.4.0で、自社のベンチマークでかなりいい感じだったので、
一番データ量の多い、サーバにいれてみました。
で、これが導入前後のCPU使用率。
処理は全くかえていません。無事流れていたSQLも修正なしに動きました。
CPUの使い方が半分くらいになりました。
これはやばいです。
さあ、4.x、5.0、5.1の皆さん、5.4の世界へ!!
ただし、バージョンアップは計画的に。。
バックアップ取ってね。
PS
innodbつかってるひとは気をつけて。。
この話は後日。



