1

有一个用例,其中数据通过 lucene 进行索引以进行搜索。当前索引每 12 小时存档一次,并重新启动一个新索引。由于我们的数据流入率相当高,我们需要进行压缩以帮助存储。我们在搜索时使用 java.util.zip 进行压缩和解压缩。

现在的问题是,当有人搜索过去一周的数据时,需要花费大量时间来解压缩。如果有人可以建议我一些更好更快的解压缩方法,那就太好了。我正在考虑 7-zip 的 LZMA,但有些输入会很有用。同时,压缩是正确的方法吗?我有选择吗?我们有一个 java 代码库,正在等待您的输入。

4

2 回答 2

4

LZMA 的压缩效果更好,但解压速度会更慢。

您可以朝另一个方向前进并接受不太好的压缩,以获得更快的解压缩。你可以看看lz4。它的减压速度大约是四到五倍,但压缩到大约 50% 左右(您的里程可能会有所不同)。虽然 lz4 有一个高压缩 (HC) 模式,它会花费更多时间进行压缩并且效果更好,但解压缩速度仍然非常快。

于 2012-08-29T17:00:54.363 回答
1

以下库解压缩速度比 lzma 更快,压缩比相似

http://code.google.com/p/lzham/

于 2013-02-15T15:28:01.330 回答