[groonga-dev,03881] [ANN] Groonga 5.1.2

Back to archive index

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




groonga-dev メーリングリストの案内
Back to archive index