レポート

いい肉の日に開催,Groonga Meatup 2015レポート ~今年は新たにPGroongaが仲間に

この記事を読むのに必要な時間:およそ 5 分

年に1度のいい肉の日(11月29日)Groonga(ぐるんが)とその関連プロダクトのイベントとしてGroonga Meatupが開催されました。

画像

Groongaは,未来検索ブラジルで開発されているオープンソースの全文検索エンジンです。高速であることや,カラムストア機能が付いていることなど,多くの特徴があります。

このイベントは毎年のいい肉の日の恒例行事となっていて,今回で6回目です。昨年までは「全文検索エンジンGroongaを囲む夕べ」と呼んでいましたが,今年はイベント名が変わりました。もともとは平日の夕方から始めていたイベントだったので「夕べ」という名前だったのですが,最近は休日の昼から始めることも多いので,変わったのでしょう。なお,⁠Meatup」は誤字ではありません。肉(meat)と集まり(meetup)を掛けたものです。いい名前ですね。

イベント告知ページにもあるように,このイベントの醍醐味は次のとおりです。

  • Groonga開発チームから今年のアップデート内容と今後の展望を聞ける
  • Groongaユーザ間で情報交換できる

イベント終了後には懇親会もあるのでそこで発表者に詳しい話を聞くこともできます。

テーマ

今年のテーマは「よいところ」です。Groongaにはいろいろな使い方があるので,使い方によってよいところは様々です。それを開発者やユーザ間で共有し,今まで知らなかったことを発見してもらい,より一層GroongaやGroonga関連プロダクトを便利に使ってほしい,という思いが込められていたようです。

それでは,今回のイベントを順番に紹介します。

会場・受付

今年は古くからのGroongaユーザでもある,株式会社ぐるなびに会場を提供いただきました。

会場の後ろのほうにはイベントロゴを印刷したTシャツが展示されていました。これはTMIXもスポンサーとなってくれたことで,実現にこぎつけたそうです。このTシャツはイベント終了後の懇親会で争奪戦となりました。

これまでもGroonga族ステッカーの配布はありましたが,Tシャツはなかったのでレアものです。残念ながらTシャツの争奪戦に破れてしまった人でも,Tシャツについて記事でTMIXへの入稿データが公開されています。どうしてもほしい人は自分で作ってみてください。

画像

受付後は参加者に名札が配られました。名札には好きなプロダクトのシールを貼れるようになっていました。また,座席も主に使っているプロダクトごとに分かれていました。Groongaには,MySQLから使えるMroonga(むるんが)⁠Rubyから使えるRroonga(るるんが)などたくさんの亜種があります。そのため,参加者同士がどのプロダクトを使っているのか知りやすくすることで,話しかけやすくなるようにとの配慮でした。

第1部:今年1年のアップデートと今後の展望を紹介

第1部は,Groonga開発チームからの発表です。

Groonga族2015(須藤功平さん)

クリアコードの須藤さん@ktouの発表です発表資料]⁠内容は,Groonga族の概要と最新情報についてです。須藤さんはGroongaのメンテナで,他にもたくさんのGroonga関連プロダクトを開発しています。

画像

「Groonga族」は総称で,Groongaそのものと,Groongaと他のプロダクトをつなぐプロダクトの両方を指しています。名前が「〇〇roonga」となっているのが特徴です。

画像

例えば,MySQLとGroongaをつなぐMroonga,RubyとGroongaをつなぐRroongaなどがあります。GroongaはC言語で書かれていて,ライブラリとして他のプロダクトに埋め込めるのがポイントです。

今年は新たにPostgreSQLとGroongaをつなぐプロダクトPGroonga(ぴーじーるんが)⁠が加わりました。特徴は,全文検索の知識がなくてもSQL経由で簡単に使えることや,日本語に対応していることがあります。これらはMroongaの特徴でもありますね。さらにPGroongaはトランザクションやユーザ管理,クライアントライブラリといったPostgreSQLの機能を使うことができる点も特徴として挙げていました。

他にもたくさんのいいところや最新情報を紹介していたので,興味のある方はぜひ発表資料をご覧ください。日本語で開発者に直接質問できるのもGroongaのよいところなので,ぜひメーリングリストなども活用してみてください。

Turbo Selector(grn_ts)の紹介(矢田晋さん)

未来検索ブラジルの矢田さん@s5yataの発表です発表資料]⁠

画像

grn_ts「ぐるんたす」と読みます。名前の_tsはTurbo Selectorからきているそうです。

これまで次期GroongaとされてきたGrnxx(こちらも「ぐるんたす」と読みます)というのは旧プロジェクトであるとのこと。Grnxxを開発していくうちに,Groongaを代替することができないことがわかったので,Grnxxから使える部分を取り出して現行のGroongaに取り込む方針になったそうです。この抽出されたモジュールがgrn_tsです。

検索用のモジュールとして実装されているため,ユーザはとくに意識することなく使えるのがポイントなのだとか。

データベースへの変更はないので,既存のデータベースを作りなおしたりする必要はないそうです。使い勝手はそのままで,一部の検索クエリを高速化できるというのはユーザにとって嬉しいですね。

selectコマンドのフィルタ(filter)の先頭に「?」をいれるとgrn_tsを使った検索ができるようになっているそうです。まだ,引数にいくつか制限があるなど,実装については試行錯誤している段階とのこと。

とはいえ,いくつかのベンチマークでは従来に比べて10倍速いという結果が得られたと言います。今後は全文検索やドリルダウンをサポートしたいとのことでした。

会場からは,そんなに速くなったのは何故なのか,という質問があり,矢田さんは「既存のGroongaでは,最適化が十分に効いていないケースがあったため」と答えていました。

著者プロフィール

横山昌史(よこやままさふみ)

株式会社クリアコード所属。札幌でオープンソース活動を趣味にしていたら,いつの間にか東京でフリーソフトウェアを仕事にしていた。好きなプログラミング言語はRubyで,RroongaとSinatraでRSSフィードリーダーを作ったり,Ruby/GTK3でファイルビューアーを作ったりしている。Rabbitコミッター。

Twitter@myokoym


HAYASHI Kentaro (kenhys)

株式会社クリアコード所属。以前肉の日のGroongaやMroongaのリリースを担当していたことも。趣味であれこれSylpheed - 軽快で使いやすいオープンソースのメールソフトのプラグインを開発している。

Twitter@kenhys

コメント

コメントの記入