Mroongaブログ

2012-07-29

mroonga 2.05リリース

mroonga 2.05 をリリースしました!

今回のリリースの主なトピックは以下の通りです。

  • SETカラムに対するインデックスをサポート
    • Fedora 17をサポート
    • 各種UNSIGNED型のサポートを追加
    • ENUMを使うのに必要な領域の削減

インストール/アップグレード方法

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

注意: 今回のリリースと前回のリリースでは、SETカラムと要素数が256より少ないENUM型を使用している場合を除いてはデータベースの互換性があります。 そのためSETカラムを使用していないか、要素数が256以上のENUM型を使用しているのであればデータベースの再構築は不要です。

ただしSETカラムもしくは要素数が256より少ないENUM型を使用している場合には互換性が失なわれるためデータベースの再構築が必要です。 アップグレード前にデータベースをダンプし、アップグレード後にデータベースをリストアしてください。

データベースの再構築手順は 2.05リリース 2012/07/29 にある手順を使ってください。

1.20より前のバージョンからアップグレードする場合は 1.20リリース 2012/01/29 にある手順を使ってください。

1.20からアップグレードする場合は 2.00リリース 2012/02/29 にある手順を使ってください。

2.00か2.01からアップグレードする場合は、 2.02リリース 2012/04/29 にある手順でパッケージ署名用の新しい鍵をインポートしてください。

2.00以降でストレージモードにてマルチカラムインデックスを使っている場合は 2.02リリース 2012/04/29 にある手順でインデックスを作り直してください。

SETカラムに対するインデックスをサポート

mroongaではSETカラムをサポートしていましたが、SETカラムに対するインデックスのサポートがないという制限がありました。

今回のリリースではSETカラムへのインデックスのサポートが追加されました。これによりSETカラムを使用しているときの検索性能を改善しています。

Fedora 17のサポート

2012年5月29日にFedora 17がリリースされましたが、これまでmroongaではFedora 17をサポートした各種ディストリビューション向けパッケージを提供していませんでした。

今回のリリースからFedora 17向けパッケージを提供します。

各種UNSIGNED型のサポートを追加

これまでmroongaでは符号なしの数値を扱うことができませんでした。

今回のリリースでは符号なしの数値を扱えるようにUNSIGNED型のサポートを追加しました。サポートされたUNSIGNED型は以下の通りです。

  • TINYINT UNSIGNED
  • SMALLINT UNSIGNED
  • MEDIUMINT UNSIGNED
  • INT UNSIGNED
  • BIGINT UNSIGNED

ENUMを使うのに必要な領域の削減

これまで、mroongaではENUMを表現するのに要素数に関係なく常に2バイトを使用していました。

要素数が256よりも少ない場合には1バイトで表現できるためこれでは無駄な領域を使用していることになります。

今回のリリースでは要素数が256より少ない場合には1バイトを使用し、それよりも多い場合には2バイトを使用するというように変更しました。

値を表現するのに必要なバイト数を使用することで、ストレージの使用量を削減できるようになります。

これはデータベースの再作成が必要となる非互換な変更ですが、要素数が256より少ないENUM型を大量に使用している場合にはストレージ使用量を削減することができるというメリットがあります。

さいごに

2.04からの詳細な変更点は 2.05リリース 2012/07/29 を確認してください。

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