MySQL-5.6.4からの新機能「InnoDB FullText Search」を用いた全文検索エンジンのベンチマークLTをしました。#mysqlcasual
2013年4月17日にオラクルで開催された「MySQL Casual Talks Vol.4」に初参加してきました。
さらにライトニングトーク(LT)もさせて頂けましたのでレポートしたいと思います。
前夜
開催前日の夜に「MySQL Casual Talks Vol.4」のイベント告知をTwitterで見つけました。
この手の勉強会は気づいたときには満席で参加を諦める事が多かったのですが、
今回は「事前登録不要/先着順受付」という新しい試みのお陰もあり、参加することが出来ました。
どうやらLT枠がまだあるようなので、ここはチャンスとネタ探しを始めました。
空き狙いでLT発表したいMySQL-5.6ネタがあるのだけれど、スライドを明日までに用意できるだろうか… #mysqlcasual
— Y.Kentaro (@yoshi_ken) April 16, 2013
@yoshi_ken まだまだ募集中でございます、ぜひぜひ。
— Tatsuro Hisamori (@myfinder) April 16, 2013
まさかの前日夜に軽い(カジュアルな)気持ちで初参加&ライトニングトーク(LT)も行える事になりました。
@myfinderさん、突然のLT参加申し入れに快諾頂きありがとうございます!
当日の模様
オラクルの豪華なエントランスにて入館手続きを済ませ、会場へ向かいます。
到着すると、数十人程度のセミナールームかと思いきや、4人掛けのテーブルが横に2つ、それが15列ほど・・・そこは120名ほどが入る大会議室でした。
ただ、見渡すとTwitterなどでお馴染みの方々が何名かいらっしゃったので、安心出来ました。
なんと発表者への差し入れがあるとのことで・・・
鯛焼きうまああああああい。ありがとうございます! #mysqlcasual
— Y.Kentaro (@yoshi_ken) April 17, 2013
ちょうど小腹が空いていたので、有り難く頂きました。@yut148 さん感謝です!
そして発表中の自己紹介中には・・・
僕このプラグインのユーザーだった RT @tagomoris: .@yoshi_ken さんってだれだっけと思ったら、おお、 fluent-plugin-rewrite-tag-filter の作者の人か #mysqlcasual
— oranie (@oranie) April 17, 2013
気づいて頂けて&利用して頂いており大変光栄です。そう、Fluentd pluginを6つほどリリースしている謎の人は私です。
前半は親しみやすい発表で、後半になるにつれてガチ系でしたね。 特にストレージエンジンプラグイン作りの発表は気になっていた事だったので楽しめました。
発表後には・・・
MySQL Casual Talks vol.4
5.6関係の話ももちろん参考になる話は多くあったんだけど、個人的にはMeCabで形態素解析する話に食い付いてしまった
5.6から標準実装された… http://t.co/ae7mNbFmIv
— オオカワ (@huntinggirled) April 17, 2013
これは大変嬉しいコメントです!
時間圧縮のために色々なところを端折ったため、(それでも20分超の発表となり申し訳ないです)ブログにてさらに詳しく解説を行いたいです。
平日と言うこともあり早々に帰られる方多く、あまり皆さんとお話しできなかった事が残念でした。
どこかの勉強会や懇親会でお会いできた時には、またよろしくお願いします!
発表テーマ
- MySQL-5.6.4のInnoDBでは全文検索が可能となりました!
- しかし、MeCabTokenizerどころかNgramにすら非対応・・・だと!?
- スペース区切りなら検索できる!(ポジティブ思考)
- 自前で分かち書きすれば動くのでは?
- その場合、現実的な速度は出るのか?
こんな状況に果敢に挑戦したレポートです
発表資料
概要
MySQL Casual Talks Vol.4 でのライトニングトークに利用した資料です。
MySQL-5.6.4より「InnoDB FullText Search (FTS)」としてInnoDBに全文検索機能が加わりました。
この全文検索機能を利用し、日本語の全文検索エンジンとしての可能性を探ります。
スライド
SlideShareとSpeakerDeck両方にアップしております。内容は同じです。
発表に利用したプログラムやデータ等
発表に利用したプログラムやデータ、生ログをまとめたリポジトリを用意しました。
https://github.com/y-ken/mysql_casual_talks_vol4
詳細な計測データを含め、さらに掘り下げた内容は順次記事にしていきます。
- rubyで行ったngram処理は具体的にどのような実装となっているのか?
- mroongaのストレージモードだけでなく、InnoDBラッパーモードの性能の差は?
- 部分一致検索
LIKE '%word%'
と比べるとどれほど速度が違うのか? - MySQL-5.0のフルテキスト検索、Tritonnとの性能差はどれほど?
- mecab-rubyはコンパイル必要そうだが、お手軽なインストール方法は?
- CentOS6で動くMySQL-5.6で使えるmysql-mroongaのビルド方法は?
などなど。
ご意見ご感想ございましたら、Twitterでお知らせ頂けると幸いです。
次回予告
次回は「Tritonn (MySQL-5.0.87+Senna)からの
mroonga (MySQL-5.6) 移行ガイド」をテーマにLTを行おうと考えております。
果たして移行は出来るものなのでしょうか。アツい期待に応えるべく、頑張ります!
次回は @yoshi_ken さんの成果が上がったらやるという話だったので、正座して待ってる #mysqlcasual
— Tatsuro Hisamori (@myfinder) April 19, 2013
もう、やるっきゃないですね! RT @myfinder 次回は @yoshi_ken さんの成果が上がったらやるという話だったので、正座して待ってる #mysqlcasual
— Y.Kentaro (@yoshi_ken) April 20, 2013
MySQL Casual Talks vol.4 関連記事
当日の模様が分かる記事を見つかる限り集めました。
他にもあればお知らせ頂けると幸いです。随時追加します。
イベント概要
MySQL Casual Talks vol.4 〜 春のMySQLまつり 〜
http://atnd.org/events/38091togetterまとめ
http://togetter.com/li/489729
登壇された皆様の資料
- #mysqlcasual vol.4 でカジュアルに発表してきました
SQLのSはStartのS、春からはじめようおじさんのSQL1ヶ月体験日記
http://blog.kenjiskywalker.org/blog/2013/04/18/mysqlcasual4/ - MySQL Casual Talks vol.4 参加報告 - After Coding
SQLドリルの話(仮)
http://saisa.hateblo.jp/entry/2013/04/18/120833 - MySQL-5.6 プロダクション投入
http://www.slideshare.net/yokoninaritai/my-sql-casual-talks-vol4-18991213 - にひりずむ::しんぷる - MySQL Casual #04 で mysqlenv 作った的な話をしてきました
http://blog.livedoor.jp/xaicron/archives/54459954.html - O/R Mapper Stratumの話
http://www.slideshare.net/tagomoris/or-mapper-stratum - #mysqlcasual vol.4 でLTしてきました - かみぽわーる
http://blog.kamipo.net/entry/2013/04/19/223117 - MySQL Casual Talks vol.4 で マスタn対スレーブ1レプリケーション と mysql_config_editor について話したこと - do_akiの徒然想記 http://d.hatena.ne.jp/do_aki/20130419/1366340829
参加された皆様の記事
- MySQL Casual Talks vol.4
http://d.hatena.ne.jp/cou929_la/20130420/1366445641 - MySQL Casual Talks vol.4 に行ってきた #mysqlcasual
http://tknzk.hateblo.jp/entry/2013/04/18/020408 - Oracle Corporation Japan MySQL Casual...
http://clip.girled.net/archives/2013/04/oracle-corporation-japan-mysql-casual.html