Kouhei Sutou
kou****@clear*****
2016年 1月 29日 (金) 15:59:09 JST
須藤です。 今日は今年最初の肉の日ですね! Groonga 5.1.2をリリースしました! http://groonga.org/ja/blog/2016/01/29/groonga-5.1.2.html 今回のリリースの新機能は次の2つです。 * 設定機能 * http://groonga.org/ja/docs/reference/configuration.html * エイリアス機能 * http://groonga.org/ja/docs/reference/alias.html ## 設定機能 設定機能はデータベース単位で設定項目を管理できる機能です。コ マンドライン引数やリクエストパラメーターと違い、データベース に永続化されるため、1度設定した値は再起動後も残っています。 設定項目は以下のコマンドで管理できます。 * config_set: http://groonga.org/ja/docs/reference/commands/config_set.html * config_get: http://groonga.org/ja/docs/reference/commands/config_get.html * config_delete: http://groonga.org/ja/docs/reference/commands/config_delete.html この設定機能はGroonga内部で使うために開発した機能ですが、ユー ザーも自由に使えます。自分が開発しているプラグインの挙動をカ スタマイズしたい、ちょっとしたキーバリューストアが欲しい、と いったときに活用してください。 内部的にはGRN_TABLE_HASHを使っているのでいい性能がでるんじゃ ないかと思います。 ## エイリアス機能 エイリアス機能を使うと、テーブル・カラム・関数名・コマンド名 など、Groonga内で名前で参照しているものすべてに別名(エイリ アス)をつけることができます。 サービスに影響がないようにスキーマ変更をしたり、後方互換性を 実現するために有用です。 たとえば、ユーザーにはaliased_columnのようにエイリアス名を使 うようにしてもらいます。 管理者はaliased_columnがcurrent_columnを指すようにします。 その後、current_columnを変更したnew_columnを新しく用意し、 準備ができた段階でaliased_columnが指すカラムをnew_columnに変 更すれば、ユーザーのクエリーを一切変更せずにnew_columnを使え るようになります。 エイリアスをスキーマ変更のために使う例は http://groonga.org/ja/docs/reference/alias.html でも説明しているので参照してください。 関数名・コマンド名を変更するとき、変更前の名前をエイリアスと して登録しておけば、変更後もその名前でアクセスできるので後方 互換性を維持できます。 ## 他の変更 他にはシーケンシャルスキャンの性能向上・mrubyの改善がありま す。性能はケースによっては数倍になります。 ここ数リリースではシーケンシャルスキャンの性能向上に取り組ん でいるのはクエリー実行処理の改善を視野に入れているからです。 Groongaは基本的に利用できるインデックスを全部利用してクエリー を処理します。ただ、十分に絞り込めているときはインデックスを 使うよりもシーケンシャルスキャンの方が速いケースがあります。 そのようなときはインデックスではなくシーケンシャルスキャンを 使うというように適材適所で組み合わせて実行するようにして、ク エリー実行性能を向上させる予定です。 話は変わってmrubyの改善の方です。Groongaは2年くらい前から mrubyの組み込みをはじめて、mrubyに問題があれば直したり報告し たりフィードバックしてきました。今回のリリースでもいくつか mrubyにフィードバックして取り込まれた変更がありますが、これ らの変更により、Groongaのユースケースでは十分安定して使える ようになった感触を得ています。 近い将来、mrubyを必須モジュールとして組み込み、さらにmrubyを 活用していくことも検討しています。 ## おしらせ 今月・来月には以下のイベントが予定されています。 * 1/29(金):今日! * Groongaで学ぶ全文検索 2016-01-29 * https://groonga.doorkeeper.jp/events/37647 * 2/9 (火):年に一度の肉の日! * MySQLとPostgreSQLと日本語全文検索 * https://groonga.doorkeeper.jp/events/35295 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ リーダブルコードワークショップ: http://www.clear-code.com/services/code-reader/readable-code-workshop.html