groonga/groonga — pull request #223 by naoa (2014-10-21 11:16:49+00:00)
Title: Add LZ4 compression instead of LZO compression

https://github.com/groonga/groonga/pull/221 よりLZOはGPLだったんですね。気づきませんでした。
調べてみると他のオープンソースもライセンスの問題でLZOだけ外出ししていたりするみたいですね。

LZ4とLZ4HCの性能が気になって仕方がなかったので同じようにベンチマークを取ってみました。

結果としてはやはりselectで10件出力するぐらいではSnappyとあまり変化は見えない感じですね。zlibはあきらかにqpsが落ちていますが、LZ4はほとんどqpsが落ちていません。(14クライアントだけ少し差がでていますが。)
カラムからデータを取り出すところに高負荷がかかるような処理を加えればSnappyとも少しは変わってくるかもしれません。

LZ4HCも試しましたが読み出し速度を保ったまま、書き出し速度を犠牲するにことにより多少サイズが減らせますが
わざわざ用意する必要があるかは微妙な感じでした。

LZ4かSnappyが使えれば、LZOを選択する必要はなさそうですし私もLZOの代わりにLZ4が入るといいなぁと思います。

よければご検討をお願いします。

![qps_lz4](https://cloud.githubusercontent.com/assets/5455147/4717289/05d65040-5913-11e4-8306-bb5fd5a98507.png)

![size_lz4](https://cloud.githubusercontent.com/assets/5455147/4717292/0bd6538c-5913-11e4-8575-0123b4d8b04e.png)

![load_lz4](https://cloud.githubusercontent.com/assets/5455147/4717299/1a24aaa6-5913-11e4-848e-f56ec85cadcf.png)