Kouhei Sutou
kou****@clear*****
2014年 1月 30日 (木) 11:52:23 JST
須藤です。 昨日は今年最初の肉の日でしたね! Groonga Meetup #1でWEICさんの近くにあるなりくらでロースかつ 定食を食べてきました。食べログ評価4超えですよ! http://tabelog.com/tokyo/A1305/A130503/13114695/ さて、実は、GroongaのRubyバインディングであるRroonga 3.1.2を リリースしていました。Windows版は昨日リリースされたばかりの Groonga 3.1.2をバンドルしています。 Web: http://ranguba.org/ja/#about-rroonga ○ Rroongaとは RroongaはRubyらしい書き方でGroongaを操作できることを重視して います。同時に、Groongaの速度をそのまま生かすことも大事にして います。 ○ 今回のリリースについて 今回のリリースではgrndumpコマンドに--no-dump-indexesオプショ ンを追加しました。これは、静的インデックス構築をしやすくする ためのオプションです。 grndumpは、通常は次のようなダンプファイルを生成するので静的イ ンデックス構築になり、インデックス構築が通常よりも高速です。 -- #{テーブル・カラム定義} #{データロード} #{インデックス定義} -- ここで、リストアするときに、「データロード」部分をカスタマイ ズしたいとき(たとえば、loadコマンドじゃなくてRroongaでデータ を投入したいとき)は次のようにしなければいけません。 1. データベース作成 2. テーブル・カラム定義を投入 3. データ投入(loadコマンドを使ったりRroongaを使ったり) 4. インデックス定義を投入(静的インデックス構築実行) しかし、これまでのgrndumpは次の3パターンのダンプファイルしか 生成できなかったため2.と4.を別の作業にするために自分でダンプ ファイルを加工しなければいけませんでした。 パターン1(オプション無し) -- #{テーブル・カラム定義} #{データロード} #{インデックス定義} -- パターン2(--no-dump-tables) -- #{テーブル・カラム定義} #{インデックス定義} -- パターン3(--no-schema) -- #{データロード} -- 今回、--no-dump-indexesを追加することにより、次のパターンも 生成できるようになったので、2.と4.を別作業にするために自分で ダンプファイルを加工しなくてもよくなりました。 パターン4(--no-schema --no-dump-tables) -- #{インデックス定義} -- パターン5(--no-indexes --no-dump-tables) -- #{テーブル・カラム定義} -- ところで、--no-indexesというオプション名がちょっともやっとし ています。インデックス定義もスキーマ定義に含まれるんじゃな い?--no-schemaにしたらインデックス定義もでないのが自然じゃ ない?みたいな感じです。 なにか、よい名前のアイディアを思いついたら教えてもらえるとう れしいです。 ○ インストール % gem install rroonga ○ チュートリアル irbを使ったRroongaのチュートリアルがあります。 http://ranguba.org/rroonga/ja/file.tutorial.html はじめての方はまずこちらを試してみてください。 3.1.1からの変更点は以下の通りです。 http://ranguba.org/rroonga/ja/file.news.html#3-1-1 3.1.2: 2014-01-29 ================= 改善 ---- * Groonga 3.1.2対応。Groonga 3.1.1以前の対応を終了。 * Groonga::Table#support_value?を追加。 * Groonga::Record#support_value?を追加。 * _value の値をGroonga::Record#attributesの結果に追加。 [groonga-dev,02046] [おんがえしさんが提案] * カラムの値をGroonga::Record#inspectの結果に追加。 [groonga-dev,02048] [おんがえしさんが提案] * grndump: インデックスのスキーマを出力するかどうかを切り替 える --dump-indexes オプションを追加。インデックスのスキー マだけをダンプするときに有用。 * Groonga.lock_timeoutを追加。 * Groonga.lock_timeout=を追加。 感謝 ---- * おんがえしさん -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html