Kentaro Hayashi
hayas****@clear*****
2017年 6月 29日 (木) 11:59:53 JST
こんにちは、今日は肉の日ですね。 Groonga 7.0.4をリリースしました! http://groonga.org/ja/blog/2017/06/29/groonga-7.0.4.html 細かな変更点についてはニュースをご確認下さい。 http://groonga.org/ja/docs/news.html#release-7-0-4 # 変更内容 主な変更点は以下の通りです。 * Debian 9 (stretch)をサポート * grndbの機能強化 * クエリのパフォーマンスの改善 ## Debian 9 (stretch)をサポート 今回のリリースでは、今月リリースされたDebian 9 (stretch)のサポートを追 加しました。 インストール手順の詳細についてはDebian 9向けにインストール手順を用意し ているのでそちらを参照してください。 http://groonga.org/ja/docs/install/debian.html#stretch ## grndbの機能強化 grndbはデータベースのメンテナンス用のツールです。 grndb check でデータ ベースの状態をチェックし、問題があれば報告します。また grndb recover で可能なら修復することもできます。 今回のリリースでは、 grndb の実行ログを保存するためのオプション --log-level と --log-path を追加しました。groongaのログは残していたけ ど、grndbのログは手段がなく保存できなかったので、あとから参照できなく て困る、という残念なことにならないようにしました。 またrecoverに--force-truncateという、どうにもならなくなったときのため に強制的に壊れたオブジェクトに対してtruncateを試みるオプションを追加し ました。最低限のデータを再度loadすればよくなるので、いざというときに復旧し やすくなります。 ## クエリのパフォーマンスの改善 今回のリリースでは、いくつかのパターンのクエリのパフォーマンスを改善し ました。 * "固定長カラム(Int8など) 演算子 定数"というクエリの高速化 * in_recordsの高速化("カラム 演算子 値 && カラム 演算子 値 && …"というクエリの高速化) 前者はカラムアクセスの処理の一部を省略することで高速化しました。演算子 は ==, !=, <, >, <= と >= に対応しています。 後者はオブジェクトを大量に作らないようにすることで高速化しました。 mrubyで実装していた箇所はオーバーヘッドが大きかったためCで実装するよう にしています。 該当するパターンのクエリを実行している場合には、アップグレードをおすすめします。 ## 改良 * 物理的なファイルの作成/削除のログを障害の切り分けのために記録するよ うにしました。 [GitHub#700,#701] * [in_records] 固定長カラムの検索パフォーマンスを改善しました。速度が 50%程度改善する可能性があります。 * [grndb] --log-path オプションを追加しました。 * [grndb] --log-level オプションを追加しました。 * 以下のAPIを公開しました。 * grn_operator_to_exec_func() * grn_obj_is_corrupt() * "固定長カラム 演算子 定数" というようなクエリのパフォーマンスを改善 しました。対応している演算子は ==, !=, <, >, <= と >= です。 * "カラム 演算子 値 && カラム 演算子 値 && ..." というようなクエリのパ フォーマンスを改善しました。 * [grndb] grndb check で壊れたオブジェクトの検出をサポートしました。 * [io_flush] --only_opened オプションをサポートしました。開いているデー タベースオブジェクトのみをフラッシュすることができます。 * [grndb] 参照先のない "inspect" オブジェクトの検出と削除をサポートし ました。この状態はコマンド名が inspect から object_inspect に変更さ れたことによって発生していました。 ## 修正 * [rpm][centos] カスタマイズ版のビルドで意図しないマクロ展開が発生する 問題を修正しました。この不具合はGroongaをSRPMからビルドする際にspec ファイルの additional_configure_options パラメータを使ってリビルドす るときのみ発生していました。 * grn_table_setoperation() のNULLチェックを追加しました。インデックス が壊れている際に、クラッシュする可能性がありました。 [GitHub#699] -- Kentaro Hayashi <hayas****@clear*****> -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 833 バイト 説明: 無しTélécharger