InnoDB Deep Talk #1 に行ってきた

InnoDB Deep Talk #1 に行ってきた。

久しぶりの六本木ヒルズ、おしゃれですねー
13時くらいに着いたので、六本木ランチを堪能して、

GREE さんへ GO!

登録するの遅すぎてQRコードが出なかったけど、

@yoheia いらしてくださーい!!

Welcome to Twitter - Login or Sign up

ということで、無事参加できました。id:ichii386 さんありがとうございました!


で、はじまりはじまり

木下さん(DB改造屋雑記

「特に話すことなんてないんですけど」とはじまり、InnoDB ってこうやっとけばいいですよねと、で話すことないので、InnoDB の歴史について話ますって、そこから木下さんの過去の開発の歴史が、facebook のために XtraBackup を作られたとか、高速化のためにいろいろしていたら InnoDB 本体にとりこまれていたとか。

途中で木下さんって最近転職されて話題になっていた DB改造屋雑記: 転職等、状況のご報告 の方だということに気付きました。最初簡単そうに見せかけて、Deep なところにガンと入っていく感じ結構好きです。資料が後で公開されるものと思って、資料に書いていることは全然メモとってなかった。。。

メモしていたのは、

  • InnoDB の rw_lock は Oracle Database でいう latch にあたるぽい
  • Ken Jacobs が ORACLE を去って(ry
  • http://bugs.mysql.com/bug.php?id=29560
  • 2008年あたりに rw_lock が GCC Atomic Builtins に変更されたとか
  • チェンジングバッファは内部バグが原因でなんとかとか
  • JOIN は NESTED LOOPS のみで、最近 HASH JOIN が実装されたらしい
  • Eclipse の CDT はよい
  • バッファプールを分けるのは最後の手段(どなたかからの質問に対して)

など。
印象的だったのはマルチコアで並列処理ができるよう mutex などの排他制御の改良を重ねてきた歴史。

平塚さん

あの id:sh2 (@sh2nd) さん。twitter やブログではやりとりさせていただいたことはあるものの、お会いするのは初めて。
発表資料はコチラ → MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記
以下はメモ。

  • InnoDB のページは Oracle Database でいうデータブロックのことのようだ
  • P.10 の SQL のコスト計算式。バッファプールにキャッシュされることを加味してなかったから、read_time を足しているか。read_time は Oracle Database でいう Physical Reads かなとおもった。Logical か Physical かわからないが、キャッシュされることを加味してなかったということで、Physical Reads なのかなと。どちらでもいいけど、要するにブロック読み込み量をいっているんだろうと思った。
  • 平塚さんは Basic Quality Contributer。ある一定期間に10個くらい妥当な(?)バグ報告をすると、Basic Quality Contributer というフラグが立ち、その後バグ報告をすると優先的に見てもらえるらしい。「この人は信用できる」フラグみたいなもののようだ。
  • P.25 の計算式 は delete を考慮しているから?
  • 4000くらい足している → ランダムアクセスのコストを考慮しているか?

資料の最後で宿題が出題されていました。

瀬島さん(sejima | GREE Engineers' Blog

GREE に転職される前はオンラインゲームのインフラを担当されていたとか。ディクショナリの話をされていました。
資料が公開されると思って全然メモしてませんでした。。。


そして、LT

Fusion-io の長谷川さん

http://d.ballade.jp/blog/2012/03/usbflash_refoma.html でフォーマットされたフラッシュメモリを参加者全員にいただきました。ありがとうございました。Atomic Write の話が気になった。もう少し詳しく聞きたかったが気が付いたら帰られてしまっていた(ToT) 世界初の話だったらしい。

moriyoshitさん(www

会場で、ずっとコード書いているぽい人がいるなと思っていたら、@moriyoshit さんだった。以前拝見したときより、シャープな感じにならているような気がした。@moriyoshit さんだと気付かなかった。

InnokoDB https://launchpad.net/innokodb

Welcome to Twitter - Login or Sign up

猪子さんのツイートを表示するストレートエンジン?をその場でコーディングして完成。すげー
cmake のあたりのオプションででちょっとはまったとか。

斯波さん

Spider という MySQL のストレートエンジンを開発されているとのこと。
途中で、以前、Shibuya.pm#12 で NoSQL vs. NoKVS ライトニングディスカッションをされていた斯波さんだということを思い出した。
id:kamipo さんがパーティション・プルーニングが効かない(特にノードをまたがる)クエリを実行させないようにできないかといった質問というか要望を話されていた。

木村明治さん(キムラデービーブログ

twitter や OraTweet ではよくお世話になっているものの、お会いするのははじめて。
オプティマイザのことをわかりやすく説明された後に、以下の3冊を紹介されていました。

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

MySQL Cluster構築・運用バイブル ?仕組みからわかる基礎と実践のノウハウ

MySQL Cluster構築・運用バイブル ?仕組みからわかる基礎と実践のノウハウ

myfinderさん(まいんだーのはてなブログ

次回の My SQL Casual の紹介をされていました。Oracle Aoyama Center で開催されるらしいので、都合が合えば行きたいです。

塩原さん(Trying Database

JPOUG のボードメンバー。OOW Unconference の紹介をされていました。アグレッシブな方だと思いました。あの行動力は見習いたいです。


おもしろい勉強会でした。次は MyISAM Deep Talk #1 になるのか InnoDB Deep Talk #2 になるのかわかりませんが、また参加したいと思います。あと、MySQLInnoDB をちょっと触ってみたいと思います。