[groonga-dev,01639] mroongaストレージモードの複数インデックスを使用した検索について

Back to archive index

Naoya Murakami visio****@gmail*****
2013年 8月 15日 (木) 20:27:38 JST


お世話になっております。村上です。

mroongaラッパーモード(MYISAM)とmroongaストレージモードで
まったく同じテーブル内容で性能等を比較してみたところ、サイズはほぼ同じでストレージモードのほうが早いという結果がでました。
(ストレージモードのほうがサイズがでかいという先入観がありました。。)

そこで、ストレージモードを利用しようとしたところ、以下の疑問がわきました。

Q1.MySQLでは、1つのクエリで1つのインデックス(複合インデックス含む)しか使用できないという仕様があるが、groongaでは複数のインデックスを同時に使えるかどうか?
使える場合、mroongaで作成されたgroongaテーブルにmroonga_commandで複数のインデックスが使われるようにselectすると、普通にSQLでselectするより早く検索することができるかどうか?

Q2.現状、mroongaでは、groongaのベクターカラムは使えないという認識でよいか?
データ構造の違いから、実現が難しそうな気がしますが、ベクターカラムはすごい便利そうだなぁと思っています。


ちなみに、余談ですが、いままでは、以下の点を考慮してラッパーモードを選んでいました。バグフィックスがなされ、また、vm.max_map_countのパラメータチューニング等、だいぶこなれてきて強制終了するケースが減ったので、ストレージモードでもいけるだろうと判断しました。

(1)ラッパーモードだと強制終了がかかったときでも実データを復旧しやすい。被害が全文インデックスまでに抑えられる。
(2)MYDがファイル1つなので、全文インデックスはSSDのような
高速ストレージに配置し、実データのMYDのみを別ストレージに移して、
シンボリックリンクを張りやすい。ストレージモードの場合、ファイル数が多く、また、インデックスと実データが区別つきづらい。
(3)MYDがファイル1つなので、実データだけをバックアップすることが容易。
(4)MYDを読み取り専用に圧縮することにより、実データサイズを3、4割に抑えることができる。
(5)カラムストアなので、ストレージモードは、MyISAMよりも実データがでかい(これは、勘違いでした)。

以上、よろしくお願いします。



groonga-dev メーリングリストの案内
Back to archive index