zstd安裝 zstd,未來可期的資料壓縮演算法

2021-10-13 02:06:30 字數 1701 閱讀 3477

tl;dr(太長不讀):

zstd是facebook在2023年開源的新無失真壓縮演算法,優點是壓縮率和壓縮/解壓縮效能都很突出。

zstd還有乙個特別的功能,支援以訓練方式生成字典檔案,相比傳統壓縮方式能大大的提高小資料報的壓縮率。

在過去的兩年裡,新版本的linux核心、http協議、以及一系列的大資料工具(包括hadoop 3.0.0,hbase 2.0.0,spark 2.3.0,kafka 2.1.0)等都已經加入了對zstd的支援。

可以預見,zstd將是未來幾年裡會被廣泛關注和應用的壓縮演算法。

我們知道,壓縮演算法的效果和效能跟被壓縮的資料型別和模式有很大的關係,光看別人的測試資料、benchmark是不夠的。正好有功能開發需要,於是結合我們的使用場景真實測試的一下。

驚喜的是,實測的結果比官方提供的還好,終於找到了我們的cup of tea。

測試環境

intel(r) core(tm) i5-4570 cpu @ 3.20ghz, 8g記憶體

centos 7.0

測試物件

對幾種支援流式寫入的壓縮演算法,使用對應的命令列工具進行壓縮測試。

壓縮演算法

工具名稱

預設壓縮級別

版本安裝方法

deflate

gzip

1.5centos自帶

lz4lz4

1.7.3

yum install lz4

lzolzop

2.06

yum install lzop

zstd

zstd

1.3.8

yum install zstd

測試輸入

100萬行不重複的某個應用的日誌檔案,大小為977mb。

測試結果

大檔案壓縮

zstd_test_result1.png

從上面可以看出:

解壓時間各種演算法差別不大

如果從上面的比較還不是特別直觀的話,我們再引入乙個創造性的指標(從網上其他壓縮演算法對比沒有見過使用這項指標):

壓縮效率 = 權重係數 * 壓縮去掉的冗餘資料大小 / 壓縮時間

代表單位處理時間可以壓縮去掉多少冗餘資料。其中權重係數用來指定壓縮率和壓縮速度哪個更重要,這裡我們認為在我們的使用場景裡兩者同樣重要,取係數為1。

zstd_test_result2.png

小資料量壓縮

對1000行、大小約為1mb的檔案進行壓縮測試,各種演算法的壓縮率跟1gb大檔案的壓縮率幾乎一樣。

下面再對更小的資料量——10行日誌資料的壓縮率進行對比。雖然我們的使用場景裡沒有對小資料量的壓縮處理,但還是比較好奇zstd字典模式的效果。

zstd_test_result3.png

其中最後一組資料為zstd使用10000行日誌進行訓練生成字典檔案,並利用字典檔案輔助壓縮測試資料。

可以看出來,除了zstd字典模式外,各種壓縮演算法在處理更小的資料量時壓縮率都下降很多。而zstd字典模式對壓縮率帶來幫助非常明顯,與gzip對比,壓縮率從1000行時相差1倍,到10行時變為了相差接近3倍。

結論對大資料量的文字壓縮場景,zstd是綜合考慮壓縮率和壓縮效能最優的選擇,其次是lz4。

對小資料量的壓縮場景,如果能使用zstd的字典方式,壓縮效果更為突出。

綜上所述,zstd憑著優異的特性,今後應用將會越來越廣,值得及早了解和嘗試。

梅耶爾的雅虎離職信 回望 感恩 未來可期

隨著verizon收購雅虎的交易於今天正式完成,梅耶爾也正式卸任雅虎ceo。這位矽谷明星在過去5年飽受爭議,在出任ceo的這段時間裡,她未能實現雅虎復興,某種程度上甚至加速了雅虎 滅亡 的速度 她的經營策略和任期內爆發的兩次資料洩露事件使雅虎積重難返,最終董事會除了 以外別無選擇。在卸任ceo之後,...

創新與融合 智慧型門禁市場的未來可期

據統計,2015年至2016年,安防產品產值突破1800億,其中門禁 出入通道 智慧型鎖佔產品產值的比重達到12 14 今年有望突破百億的市場規模。在 網際網路 物聯網 移動智慧型化影響下,門禁技術不斷與各行業 各種概念高度融合,門禁市場也進入前所未有的轉型期。文 葉勝 中控智慧型科技股份 中國區安...

未來可期(關於高考和現在處境的看法)

天色朦朧,一鉤淡月掛於天際,青山隱約,晨風冷冷,一時想起太白的詩 萬里浮雲卷碧山,青天中道流孤月。當時想報南京那邊的,就選擇了另乙個終點,但是在來回的人生道路是,沒有哪乙個人可以倖免,我們在時代浪潮之中,以後城市大門逐漸關閉,越來越多人回到家鄉,建設家鄉。老實說,我很愛跟這些老人聊天。在我看來,他們...