BloGroonga

2013-11-29

今日は 全文検索エンジンGroongaを囲む夕べ4 の開催日ですね。

Groonga 3.1.0リリース

Groonga 3.1.0 をリリースしました!

それぞれの環境毎のインストール方法: インストール

[実験的] 同じ値なら更新をスキップするオプションのサポート

今回のリリースでは、同じ値なら更新をスキップするオプションのサポートしました。 GRN_JA_SKIP_SAME_VALUE_PUT=yesを環境変数に設定すると有効になります。

パッケージでインストールした場合には設定ファイルのコメントアウトされている箇所をはずすと有効になります。

#GRN_JA_SKIP_SAME_VALUE_PUT=yes

設定ファイルはディストリビューションごとに次の場所にあります。

DebianやUbuntu:

/etc/default/groonga-httpd
/etc/default/groonga-server-http
/etc/default/groonga-server-gqtp

CentOSやFedora:

/etc/sysconfig/groonga-httpd
/etc/sysconfig/groonga-server-http
/etc/sysconfig/groonga-server-gqtp
/etc/systemd/groonga-httpd
/etc/systemd/groonga-server-http
/etc/systemd/groonga-server-gqtp

Groongaでは参照ロックフリーで高速に検索できるようにするのと、アトミックに更新するために都度値をコピーしてから参照先のポインタを差し替えるような振舞いで実現しています。 そのため可変長カラムの値を更新しつづけると、全く同じ値で更新した場合でも都度領域を消費していくので、データベースが徐々に肥大していきます。

そこで、データベースの肥大化を抑制する目的で同じ値のときは更新しないオプションを用意しました。

デフォルトではこの機能は無効です。これは、逆にデータベースのサイズの肥大化が加速したケースがあったからです。 そのため、実験的な扱いとなっています。もし、肥大化が顕著なケースに限って試されることをおすすめします。

さいごに

3.0.9からの詳細な変更点は 3.1.0リリース 2013/11/29 を確認してください。

それでは、Groongaでガンガン検索してください!