2017年2月9日(年に一度の肉の日!)にGroonga Meatup 2017が開催されました。ここでGroongaとMroongaとPGroongaの2016一年間での進化の様子を紹介しました。最近のGroonga・Mroonga・PGroongaの情報をざっと把握できるのでご活用ください。
関連リンク:
内容
2016年はGroonga・PGroongaの改良が多く、Mroongaの改良は少なめでした。ただ、MroongaはGroongaを使っているので、Groongaの改良(の多く)はそのままMroongaでも利用できます。そのため、Groonga・PGroongaだけでなくMroongaも進化しています。
Groongaの大きな改良はこのあたりです。
-
検索の高速化(アップグレードするだけで、ケースによっては1.5倍から2倍速くなる)
-
ウィンドウ関数をサポート(データ分析に活用しやすくなった)
-
あいまい検索をサポート(オートコンプリートで便利。参考:Groongaのパトリシアトライを使って高速なあいまい検索を実装した - CreateField Blog)
-
多段ドリルダウンをサポート(データ分析・UIの作成に便利。参考:Groonga 6.0.2から多段ドリルダウンが利用可能に - CreateField Blog)
-
Zstandardによるカラム圧縮をサポート(zlibと同程度の圧縮率なのにzlibより数倍速い。データのサイズに応じて動的に圧縮するかどうかを切り替える改良も入ったので、デメリットなしでカラム圧縮機能を利用できるようになった。)
Mroongaの大きな改良はこのあたりです。
-
FOREIGN KEY制約をサポート
-
マルチカラムインデックスの更新性能劣化を解消
-
*SS
プラグマを追加(MATCH AGAINST
ないでGroongaの検索条件を使える。Groongaの検索条件では複数インデックスを使えるのでMySQLで検索するよりも圧倒的に速くなる。)
PGroongaの大きな改良はこのあたりです。
-
ストリーミングレプリケーションをサポート
-
検索の高速化(PostgreSQLがより適切な実行計画を選べるように、PostgreSQLにより精度の高い情報を提供するようになった)
-
Zstandardによるカラム圧縮をサポート
-
各種便利演算子を追加(類似文書検索演算子・前方一致検索演算子・前方一致RK検索演算子)
他にもいろいろあるのでぜひスライドも確認してください。
まとめ
Groonga Meatup 2017で2016年のGroonga族の様子を紹介しました。
なお、今回のGroonga Meatup 2017は東京で開催しましたが、今月、名古屋と大阪でも開催されるので近辺の方はぜひお越しください!
-
2017-02-12(日):Groonga Meatup名古屋2017 @ Misoca
-
2017-02-26(日):Groonga Meatup大阪2017
他の発表については以下を参照してください。
おまけみたいな書き方になってしまいますが、同日、初心者向けのMroongaの電子書籍Groongaではじめる全文検索がリリースされました!初心者の人がくじけずに始められるようにできるだけ短い内容(約30ページ!)で動くものが作れる、という内容になっています。具体的にはPHPでMroongaを使ってPDF検索システムを作っています。全文検索をしたいけどどこから始めればいいかピンときていない…という方はまずはこれを読んでみてください。