MySQLユーザコンファレンス2008 1日目(10/30)メモ

MySQL ユーザコンファレンス - 10/30 - サン・マイクロシステムズ

場所はJR東京駅からすぐの東京ステーションコンファレンスの5F。受付のロゴはMySQLじゃなくてSUNでした。主催だから当然か。会場の規模の割りには参加者が大勢きていて、一部のセッションで入場制限、立ち見になっていました。
というわけで、まず1日目のメモを。
2日目のはこちら -> MySQLユーザコンファレンス2008 2日目(10/31)メモ

State of MySQL from Sun (10:30 ~ 12:00)

基調講演
  • 皆さんご存知の通り、今年の始めにSUNがMySQL ABを買収
  • 対応プラットフォームも今まで同じ (unix,linux,windows,mac)
    • Solaris,javaに特化する、なんてことはないらしい
  • ダウンロード数
    • 6万DL/日 (今年1月)
    • 7万DL/日 (最新)
  • ダウンロード元をプロットしたグラフ
    • 世界地図の輪郭ができた => 世界中で使われてるということ
    • アメリカ、日本(北海道を除く)、韓国あたりの色が濃かった
    • 北海道でも活動しろ、と営業に言っておく(笑
ダビッド・アックスマークのお話
  • 特徴
    • pluggable storage engine
  • ex)
    • Archive
      • select,insertのみ(updateとdeleteがない)
      • ロギング用に使えるかも
    • InfoBright
  • 組み込み
MyNA (MySQL日本ユーザ会)
  • 2000年設立
    • ML参加人数 3500人ほど
  • SUNと統合して期待すること、不安なことなど
    • 日本語ドキュメント、情報の提供
    • MySQL AB時代に勉強会などで色々助けてもらった。今後(SUNに統合されてから)も協力して欲しい
    • java,solarisに特化したものにならないか (基調講演でも述べられてたから、これはないらしい)

Amebloで比較するMySQLストレージエンジンとファイルシステム (13:00 ~ 14:00) - サイバーエージェント 岡田 達典 氏 大黒 圭祐氏

あとで資料をうpする予定と言ってた。前半は岡田さんの発表。

インフラチーム
  • DBチーム
    • OS/サービスにあわせたMySQL,mMeasureのRPMの作成
    • サーバのラックマウントもしてるらしい
      • ラックは自社の地下?にある。まだスカスカ
    • サーバの自作もしてる
サーバ構成 過去と現在
  • 2006年9月時点
  • 現在
    • Oracle 10g Rac
      • ?台 (聞き逃した。3台と言っていたような。。)
    • MySQL
      • master 1台
      • slave 41台
      • Masterが壊れたら、手作業で代替機と交換(後の質疑応答より)
      • mMeasureで負荷、qps等を監視
    • 画像はNAS(NFS)サーバに
    • SunWeb,Web Logicからapache,tomcatに変更
    • web/appサーバを参照/更新に切り分け
    • キャッシュサーバの構築
    • NFSだと負荷がかかるのでWebDav
    • 50億PV/月
OracleからMySQLへの移行
  • バッチ処理による移行ツールを行おうとしたが、、、
    • 時間がかかりすぎて失敗
  • DBのdump、importを使うように変更
    • Oracle => UTL_FILEでエクスポート
    • MySQL => LOAD DATA INFILEでインポート
    • 2億件の記事を4時間程度で終了
  • 他にもPostgres,DB2からもMySQLに移行
appの参照先をOracleからMySQLへ変更
  • MySQLに変えるタイミングで、blogのインタフェースも変更
    • ユーザからの使いにくいといわれていたため
  • Oracle時代のSQL
    • 2回SQLをたたくシンプルな構成
  • MySQL時代のSQL
    • SQLを16回たたく
    • 月ごとの記事へのリンクを表示するようにしたため
チューニング1
チューニング2
  • ディスクI/Oが負荷の原因になったのでslow query logを調査
    • PVが多い、ユーザごとのblogのトップページを対象
  • EXPLAINでSQLを調査
    • "Using filesort"が出てきた (パフォーマンスが悪い)
    • INDEXを修正して、"Using index"になるように修正
サーバの負荷状況
  • SQL改修後slow queryは0に (slow-query-timeは2秒)
  • SQL発行回数は増加(ピーク時では1分間に5万弱)
  • load averageは減少 (DiskI/Oが減少したから)

ここで前半終わり。次後半。

実践検証 ストレージエンジンとファイルシステム (大黒さん)

各my.cnfの設定はDLできる資料に載せるらしい。

サーバ環境
  • CentOS4
  • ext3
    • xfsはストレージ(画像)系には使ってるけど、mysqlには使ってない
  • mysql 4.1.21
    • ほどんど4.1系を使用してる
    • でも5.1 rc使ったらパフォーマンス良かったので、変更していくかも
strage engine
  • InnoDB
  • Archive
    • 個人的にどこかで使えないか模索中らしい
検証内容
検証結果
  • ext3 < xfs
    • 全エンジンでxfsのほうが1割ほど上
  • MyISAM < Maria
  • MyIsam,Maria < innodb
    • 単純なSQLならInnodbも早い。たぶんテーブルロックと行ロックの違い?
  • ext3 > zfs(OpenSolaris)
    • zfsはOSが違うので厳密な比較ではない
考察
  • xfs 思ってたよりも良い結果
    • journal logのチューニングでもっと良くなるかも
  • zfs
    • 書き込みはまぁまぁ早かった
結論
  • xfs + MySQLはいい感じ
自作サーバ
  • SSD
    • 読み込みは抜群に良い、でも書き込みはクソだったらしい

Memcached and MySQL - Brian Joker (14:00 ~ 15:00)

発表してた資料はこれらしい。

memcachedを理解してないのでちんぷんかんぷん('A`)

protocol
  • simple
  • text base
  • binaryももうすぐ作るって言ってた???
Memcached Functions for MySQL
  • UDF APIとlibmemcached
Installation
  • CREATE FUNCTION memc_servers_add RETURNS INT SONAME "libmemcached_functions_mysql.so"
  • などなど
memcached-tool
libmemcached tools