BloGroonga

2015-08-31

Groonga 5.0.7リリース

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

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

変更内容

今回のリリースの主なトピックは次の2点です。

  • 静的なインデックス構築方法のバグフィックス(影響を受けるユーザーはアップグレード推奨)
  • Windowsでスパースファイルの実験的サポート(Windowsユーザーの方にはフィードバックをお願いしています)

静的なインデックス構築方法のバグフィックス

このリリースには静的なインデックス構築方法のバグフィックスが含まれています。このバグが発生すると、ヒットするべきでないレコードがヒットする(誤ヒット)、あるいは、ヒットするべきレコードがヒットしない(検索漏れ)、という現象が発生します。

次の条件すべてに当てはまる方はアップグレードを推奨します。

  • マルチカラムインデックス(WITH_SECTIONフラグ付きのインデックスカラム)を使っている
  • 静的なインデックス構築方法を使っている

いずれかの条件に当てはまらない場合はこのバグは発生しません。たとえば、静的なインデックス構築方法を使っていても、WITH_SECTIONフラグ付きのインデックスカラムを使っていなければこのバグは発生しません。

なお、現在、バグが発生したインデックスも持っている場合、アップグレードしてインデックスを作りなおすことで問題は解決します。データの再投入は必要ありません。

Windowsでスパースファイルの実験的サポート

このリリースでWindowsユーザー向けの「スパースファイルサポート」という実験的な機能が追加されています。デフォルトでは無効になっていますが、有用であることが確認でき次第、有効にする予定です。Windowsユーザーの方はぜひこの機能を試して、その結果をGroonga開発者にフィードバックしてください。フィードバックを受けてデフォルトで有効にするかどうかを判断する予定です。

スパースファイルをサポートすることにより次の効果を期待しています。

  • データベースの使用ディスクサイズが減少

スパースファイルにすることにより実際に使用しているディスクサイズが減ることを期待しています。(見かけ上のディスクサイズは変わりません。)Groongaは一度にある程度のサイズの領域を確保してからその領域を利用するため、データベースのファイルサイズが大きくなりがちです。スパースファイルをサポートすることにより、Groongaの領域確保の方法を変えずに、実際に使うディスクサイズを減らすことができるかもしれません。

一方、次の点を懸念しています。

  • パフォーマンス
  • メモリー使用量(特に仮想メモリー使用量)

もし、Windowsユーザーのみなさんからのフィードバックの結果、データベースの使用ディスクサイズが減り、パフォーマンスにもメモリー使用量にも悪影響がないことがわかった場合はデフォルトで有効にする予定です。

フィードバック方法はGitHubのissue - Windows: スパースファイルの有効性を検証 #384にまとめたので、Windowsユーザーの方はご協力をよろしくおねがいします。

その他の変更点

これ以外にも次のような有用な変更点があるので、変更点リストも参照してください。

  • column_copyコマンドを追加:カラムの値の型をやテーブルの種類を変更するためにも使えます。
  • エラー発生時のメモリーリークを修正

さいごに

5.0.6からの詳細な変更点は 5.0.7リリース 2015-08-31 を確認してください。

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