功能簡介
天翼云云搜索服務(wu),在OpenSearch和Elasticsearch都實現(xian)了對多(duo)種(zhong)壓縮(suo)算法(fa)的支(zhi)持,其(qi)中包括 Zstandard (zstd) 壓縮(suo)算法(fa)。
Zstandard 是一種(zhong)無損壓(ya)(ya)縮(suo)(suo)算法,具有(you)高壓(ya)(ya)縮(suo)(suo)率和高速(su)壓(ya)(ya)縮(suo)(suo)/解壓(ya)(ya)速(su)度(du)的優點。相(xiang)較于傳統(tong)的壓(ya)(ya)縮(suo)(suo)算法(如 Gzip 或(huo) LZ4),Zstandard 可以在更短的時間內實現(xian)更好(hao)的壓(ya)(ya)縮(suo)(suo)比,這(zhe)對(dui)于需要處理大量數據的搜(sou)索(suo)引(yin)擎尤其有(you)利。
通過支持 zstd 壓(ya)縮算法,搜(sou)索(suo)(suo)引(yin)擎(qing)能夠有效降低索(suo)(suo)引(yin)和存儲的磁盤空間需(xu)(xu)求,同時加(jia)快數據傳輸(shu)速度(du),進一步優化搜(sou)索(suo)(suo)引(yin)擎(qing)的性能。這對于(yu)需(xu)(xu)要(yao)處(chu)理大(da)量(liang)數據的應用場(chang)景(jing),尤(you)其(qi)是高(gao)并發和低延遲要(yao)求的場(chang)景(jing),顯得尤(you)為重要(yao)。
根(gen)據(ju)Lucene社區的文(wen)檔,ZSTD壓縮算(suan)法的綜合速度和壓縮率(lv)表現更優(you)。
| 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中(zhong)創建一個使用(yong)zstd作為壓(ya)縮(suo)算法的索引的命令:
PUT my_index
{
"settings": {
"index": {
"codec": "zstd"
}
}
}