HAYASHI Kentaro
hayas****@clear*****
2013年 10月 29日 (火) 13:19:39 JST
林です。
今日は肉の日ですね。
最初に全文検索エンジンGroongaを囲む夕べ 4開催のお知らせです。
今年もいい肉の日(11/29)に全文検索エンジンGroongaの勉強会を開催するこ
とになりました!今年は時間枠を拡大したぶん、Groonga開発チームからの紹介だけでなく
ユーザーのみなさんの事例紹介も扱います。
今回懇親会はDeNAさんの強力なバックアップを得て開催できることになりました。
なんと会場を提供してくださるだけでなく、懇親会費用まで出してくださることに
なりました!いい肉の日にちなんで肉中心メニューになるとか!
DeNAさんありがとうございます!
* 全文検索エンジンGroongaを囲む夕べ 4
http://atnd.org/events/43461
まだ定員には余裕がありますが、参加申し込みはお早めに!
発表者枠も決まったので、タイムテーブルを確認してみてください。
* http://atnd.org/events/43461#time-table
ありがたいことに、前回に引き続き @suzuki さんが Ustreamでの配信をお手伝いしてくれることになりました。
17:00開始では残念だけど都合がつかないという人はUstreamで参加してみてください。
イベントそのものをちょっとだけ手伝ってもいいよーという場合には
受付のお手伝いやgihyo.jpへのイベントレポートを執筆するという関わりかたもできます。
やってみようかなぁというひとは協力者募集を参照してください。
* 協力者募集
http://atnd.org/events/43461#help-us
Groonga 3.0.9をリリースしました!
http://groonga.org/ja/docs/news.html#release-3-0-9
それぞれの環境毎のインストール方法はこちらを見てください。
http://groonga.org/ja/docs/install.html
今回のリリースではデータベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。
今回のリリースの主なトピックは次の通りです。
* HTTPサーバーでgroonga-cache-limitディレクティブのサポート
* パフォーマンスチューニングに関するドキュメントの追加
* Ubuntu 13.10 (Saucy Salamander)のサポート
* [募集] コマンドリファレンスをいっしょに良いものにしませんか
* [募集] 週刊Groongaの情報を海外向けに発信してみませんか
○ HTTPサーバーでgroonga-cache-limitディレクティブのサポート
Groongaではgroonga-httpdというnginxをベースとしたHTTPサーバーを提供しています。
このHTTPサーバーでキャッシュサイズをカスタマイズするためのディレクティブとしてgroonga_cache_limitを追加しました。
このディレクティブを追加したことで、ワーカープロセスごとのキャッシュサイズをまとめて設定することができるようになります。
例えば、locationブロック内だと次のようにして指定します。
<pre>
location /d/ {
groonga on;
# You can customize query cache limit for groonga.
groonga_cache_limit 100;
}
</pre>
従来はこのディレクティブがなかったので、複数のワーカープロセスでキャッシュサイズを変更するために
cache_limitコマンドを実行しても特定のワーカープロセスに限定して設定することができませんでした。
そのためすべてのワーカープロセスで必ずしも同じキャッシュサイズに設定できないという問題がありました。
(特定のワーカープロセスが常にcache_limitを処理すると、他のワ ーカープロセスのキャッシュサイズが
変わらないということです) この問題をgroonga_cache_limitディレクティブで、解決することができます。
○ パフォーマンスチューニングに関するドキュメントの追加
Groongaのパフォーマンスチューニングに関するドキュメントを追加しました。
Groongaを使っていて、対象となるデータ件数が増加するに従って、
当初は問題にならなかったパフォーマンスの低下により何らかの
対策が必要になることがあります。典型的な例がプロセスが扱えるファイル数や
使用するメモリに関してです。
チューニングに関しては次のドキュメントを参照してください。
http://groonga.org/ja/docs/reference/tuning.html
○ Ubuntu 13.10 (Saucy Salamander)のサポート
今回のリリースから10月17日にリリースされたUbuntu 13.10のサポートを
はじめました。
具体的なインストール手順については、次のドキュメントを参照してください。
http://groonga.org/ja/docs/install/ubuntu.html#saucy-salamander
○ [募集] コマンドリファレンスをいっしょに良いものにしませんか
APIのドキュメント化作業が一段落したので、次のステップとして
コマンドリファレンスの改善作業をはじめました。
コマンドリファレンスは新規コマンドが追加されたり、機能が追加されたり
する度に加筆修正していっているので、今では古いスタイルと
新しいスタイルとが混在している状態になっています。
これを新しいスタイルに統一しようというのが、このコマンドリファレンスの
改善作業の内容です。
ただ現状リソースが足りていないので、ユーザのみなさんにも協力していただけたらいいなと思っています。
具体的な作業手順の詳細については以下を参照してください。
もし、できそうだな、とかちょっとやってみよう、と思われたらぜひ参加して
くれると嬉しいです。
http://groonga.org/ja/blog/2013/08/12/reference-command-documentation.html
○ [募集] 週刊Groongaの情報を海外向けに発信してみませんか
毎週木曜に Qiita http://qiita.com/ にてGroongaやMroonga,Rroongaなどの
トピックを一つ投稿するという取り組みを続けています。
それなりにトピックがたまってきたので、これを翻訳して英語圏にも情報を発信して
いこうかと考えています。
ただ、現状リソースがあまり足りていないので、ユーザのみなさんにも
翻訳作業を協力していただけたらいいなと思っています。
翻訳作業の詳細については以下を参照してください。
http://groonga.org/ja/blog/2013/07/22/qiita-translation.html
○ [参考] 隔週連載Groonga
これまでも、groonga.orgにて利用事例 http://groonga.org/ja/users/ を
紹介してきましたが、それとは別に、http://gihyo.jp/にてGroonga関連の記事の連載を
隔週連載Groongaとしておよそ2013年4月から半年間連載しました。
まだGroongaを知らない人にもWebの連載記事を通じて知ってもらいたいとい
うのが動機で始めましたが、この半年間でgroonga-devへの新規投稿が活発化する
など、一定の成果をあげることができました。
ユーザーのみなさんの事例紹介の記事のおかげで、この企画を続けることが
できました。ひとつの区切りとして連載は終了しましたが、ユーザー事例とその補足を
取り混ぜた連載です、ぜひ参考にしてみてください。
過去の記事(第1回から第10回)については隔週連載Groongaのページを参照してください。
http://gihyo.jp/dev/clip/01/groonga
似たような動機で、毎週木曜にQiitaでのGroonga関連の情報提供も続けています。
こちらも参考にどうぞ。
http://qiita.com/groonga
○ 変更点
さて、3.0.8からの変更点は以下の通りです。
http://groonga.org/ja/docs/news.html#release-3-0-9
改良
* [doc][httpd] groonga_database_auto_create ディレクティブのドキュメントを追加しました。
* [httpd] groonga_cache_limit ディレクティブを追加しました。
* [doc] zlib/lzoによる圧縮がデフォルトで無効となっている理由を追加しました。
[groonga-dev,01845] [村上さんが提案]
* HTTPサーバーのRLIMIT_NOFILEに関連した制限を削除しました。
HTTPサーバープロセスが4096以上のファイルを扱えるようにしています。
* [実験的] Groongaへmrubyを統合するためのAPIをいくつか追加しました。
[GitHub#109, #110, #111, #112, #113, #114, #115, #116, #117, #118] [wanabeさんがパッチ提供]
* [travis] Travis-CI上でCMakeによるビルドをサポートしました。
* [doc] Tuning のドキュメントを追加しました。
* [実験的] ruby_load コマンドを追加しました。
* [httpd] メッセージボディが複数バッファリングされているPOSTリクエストをサポートしました。
そのような場合にこれまではタイムアウトしていました。 [GitHub#120] [鷲田さんがパッチを提供]
* [gqtp] エラーメッセージをサポートしました。メッセージボディとしてテキストを
二重引用符で囲むことなく返します。これは非互換な変更です。
* [http] "400 Bad request" を引数のエラーとしてサポートしました。
* [doc] 補完 のサンプルを追加しました。
* Ubuntu 13.10 Saucy Salamanderをサポート。
修正
* オーバーフローによってSEGVを引き起こす不具合を修正しました。
この問題はインデックスのサイズが仮想メモリのサイズを超過したような場合に発生します。
[groonga-dev,01661] [村上さんが報告]
* テーブルを作成するときの不要なロックをかけないようにしました。
この変更はGroonga 3.0.5で入ったパフォーマンス低下を解消します。
* データベースに参照カラムがある場合に削除できない不具合を修正しました。
インデックスカラムや参照カラムを先に削除することなく、インデックステーブルやカラムを削除しようとして失敗するというものです。
[Eito Katagiriさんが報告] [GitHub Rroonga #13]
* DATキーを使っているデータベースの削除でごみが残ったままになる不具合を修正しました。
* [http] 同じワーカースレッドにおいてHTTPヘッダのバッファを共有していることにより
メモリリークが発生していた問題を修正しました。
* [httpd] groonga_database_auto_create パラメータが継承されない不具合を修正しました。
これらのパラメータはlocationブロック以外では無視されていました。
* statusコマンドが正しくないキャッシュヒット率を返すことがある問題を修正しました。
* Time型にキャストするときにオーバーフローする問題を修正しました。
これはTime型に32bitの範囲を超えた値を設定する場合に影響します。
感謝
* 村上さん
* wanabeさん
* 鷲田基さん
* Eito Katagiriさん
--
株式会社クリアコード
林 健太郎 <hayas****@clear*****>
〒113-0033 東京都文京区本郷3-27-12
TEL:03-6231-7270 FAX:03-6231-7271
groongaサポートサービスはじめました。
http://groonga.org/ja/support/