BloGroonga

2016-10-29

Groonga 6.1.0リリース

今日は肉の日ですね。Groonga 6.1.0をリリースしました!

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

今回のリリースではインデックスカラムに関するドキュメントを追加しました。メモリー使用量を削減したい場合にうまく活用してみてください。

変更内容

主な変更点は以下の通りです。

  • dump結果をテーブル名順に出力するようになりました
  • インデックスカラムに関するドキュメントを追加しました

dump結果をテーブル名順に出力するようになりました

これまでは、dump結果のテーブル名に関して、ID順に出力していました。そのため、スキーマ変更などでテーブルの追加や削除を繰り返したりしている場合には、そうでないデータベースと比べたときに(最終的なスキーマが同じでも)dump結果が異なることがありました。これは、dump結果を元に差分をとるような場合にあまり嬉しくない挙動でした。

そこで、今回のリリースでは、dump結果をテーブル名順に出力するようになりました。参照型のカラムを含んでいる場合には、それも考慮されるようになっています。これは非互換な変更ですが、ユーザーの利便性を向上させるためにそのようにしています。

インデックスカラムに関するドキュメントを追加しました

今回のリリースでは小さな or 中サイズのインデックスカラムに関するドキュメントを追加しました。機能自体は以前のリリースから入っていたのですが、具体的な使い方のドキュメントがありませんでした。

そこで今回はその使い方について説明します。データベースに保存しているデータのうち、インデックス対象のデータがある程度小さいことがわかっている場合に使えるやり方です。うまく活用できれば、メモリー使用量を減らすことができます。やり方は2つあります。

  • 小さなインデックスカラム
  • 中サイズのインデックスカラム

小さなインデックスカラムは、10億レコードに達しないことがわかっている場合に使えます。デフォルトのインデックスカラムに比べてメモリー使用量を1/256へと削減が見込めます。 例えば、次のように、flags パラメーターに COLUMN_INDEX|INDEX_SMALL を指定します。

column_create --table Ages --name people_age_small_index --flags COLUMN_INDEX|INDEX_SMALL --type People --source age

People テーブルのレコード数がたかだか数百万程度であれば適用できます。

中サイズのインデックスカラムは、スカラーの固定サイズのカラム1つであれば、10億レコードのインデックスも作成できます。デフォルトのインデックスカラムに比べてメモリー使用量を5/24へと削減が見込めます。他にも適用するための条件がいくつかあるので詳細は中サイズのインデックスカラムを作成の項を参照してください。

例えば、次のように、flags パラメーターに COLUMN_INDEX|INDEX_MEDIUM を指定します。

column_create --table Ages --name people_age_medium_index --flags COLUMN_INDEX|INDEX_MEDIUM --type People --source age

お知らせ

来月17日に、Mroongaに関するイベントが開催されます。

「三木会 Mroonga開発者が来たぞ!」

  • 2016-11-17(木)19:30 - 21:30 株式会社インサイトテクノロジー 大阪支店 大阪市北区大深町3-1 グランフロント大阪 ナレッジキャピタルタワーC 11F
  • お酒を片手にMroonga開発者自らMroongaについて紹介するイベントです。事前にイベントページから参加申し込みが必要となっています。

さいごに

6.0.9からの詳細な変更点は6.1.0リリース 2016-10-29を確認してください。

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