読者です 読者をやめる 読者になる 読者になる

Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

MySQL-5.6.4からの新機能「InnoDB FullText Search」を用いた全文検索エンジンのベンチマークLTをしました。#mysqlcasual

MySQL

2013年4月17日にオラクルで開催された「MySQL Casual Talks Vol.4」に初参加してきました。
さらにライトニングトーク(LT)もさせて頂けましたのでレポートしたいと思います。

前夜

開催前日の夜に「MySQL Casual Talks Vol.4」のイベント告知をTwitterで見つけました。
この手の勉強会は気づいたときには満席で参加を諦める事が多かったのですが、
今回は「事前登録不要/先着順受付」という新しい試みのお陰もあり、参加することが出来ました。

どうやらLT枠がまだあるようなので、ここはチャンスとネタ探しを始めました。

まさかの前日夜に軽い(カジュアルな)気持ちで初参加&ライトニングトーク(LT)も行える事になりました。
@myfinderさん、突然のLT参加申し入れに快諾頂きありがとうございます!

当日の模様

オラクルの豪華なエントランスにて入館手続きを済ませ、会場へ向かいます。
到着すると、数十人程度のセミナールームかと思いきや、4人掛けのテーブルが横に2つ、それが15列ほど・・・そこは120名ほどが入る大会議室でした。
ただ、見渡すとTwitterなどでお馴染みの方々が何名かいらっしゃったので、安心出来ました。

なんと発表者への差し入れがあるとのことで・・・

ちょうど小腹が空いていたので、有り難く頂きました。@yut148 さん感謝です!

そして発表中の自己紹介中には・・・

気づいて頂けて&利用して頂いており大変光栄です。
そう、Fluentd pluginを6つほどリリースしている謎の人は私です。

前半は親しみやすい発表で、後半になるにつれてガチ系でしたね。 特にストレージエンジンプラグイン作りの発表は気になっていた事だったので楽しめました。

発表後には・・・

これは大変嬉しいコメントです! 時間圧縮のために色々なところを端折ったため、(それでも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を行おうと考えております。
果たして移行は出来るものなのでしょうか。アツい期待に応えるべく、頑張ります!

MySQL Casual Talks vol.4 関連記事

当日の模様が分かる記事を見つかる限り集めました。
他にもあればお知らせ頂けると幸いです。随時追加します。

イベント概要

登壇された皆様の資料

参加された皆様の記事