功能简介
天翼云云搜索服务,在OpenSearch和Elasticsearch都实现了对多种压缩算法的支持,其中包括 Zstandard (zstd) 压缩算法。
Zstandard 是一种无损压缩算法,具有高压缩率和高速压缩/解压速度的优点。相较于传统的压缩算法(如 Gzip 或 LZ4),Zstandard 可以在更短的时间内实现更好的压缩比,这对于需要处理大量数据的搜索引擎尤其有利。
通过支持 zstd 压缩算法,搜索引擎能够有效降低索引和存储的磁盘空间需求,同时加快数据传输速度,进一步优化搜索引擎的性能。这对于需要处理大量数据的应用场景,尤其是高并发和低延迟要求的场景,显得尤为重要。
根据Lucene社区的文档,ZSTD压缩算法的综合速度和压缩率表现更优。
Codec | Indexing time (ms) | Disk usage (MB) | Retrieval time per 10k docs (ms) |
---|---|---|---|
BEST_SPEED | 35383 | 90.175 | 190.17524 |
BEST_COMPRESSION (vanilla zlib) | 76671 | 58.682 | 1910.42106 |
BEST_COMPRESSION (Cloudflare zlib) | 54791 | 58.601 | 1395.53593 |
ZSTD (level=1) | 42433 | 70.527 | 240.04036 |
ZSTD (level=3) | 53426 | 68.737 | 259.61897 |
ZSTD (level=6) | 100697 | 66.283 | 251.91177 |
ZSTD dict (level=1) | 50571 | 69.860 | 254.10496 |
ZSTD dict (level=3) | 60580 | 68.690 | 266.72929 |
ZSTD dict (level=6) | 128322 | 65.605 | 251.91177 |
使用示例
在OpenSearch中创建一个使用zstd作为压缩算法的索引的命令:
PUT my_index
{
"settings": {
"index": {
"codec": "zstd"
}
}
}