Эксперымент з выкарыстаннем SQLite у якасці кантэйнера для архівавання файлаў

Праект Pack распачаў спробу стварэння фармату для архівавання файлаў, пабудаванага на базе бібліятэкі SQLite і алгарытму сціску ZSTD (Zstandard). Падрыхтаваны прататып, напісаны на мове Pascal і які распаўсюджваецца пад ліцэнзіяй Apache 2.0, абагнаў па хуткасці стварэння архіваў найболей распаўсюджаныя архіватары, пры тым, што яго праца зводзілася да чытання дадзеных, сціску бібліятэкай libzstd і выкананню SQL-аперацый па даданні сціснутых дадзеных SQLite.

Пры сціску каталога з 81 тысячай файлаў, агульным памерам 1.25 ГБ, pack апынуўся хутчэй утыліты ZIP у 112 разоў, выканаўшы аперацыю за 1.3 секунды супраць 146 секунд у ZIP. Памер архіва пры гэтым у pack атрымаўся на 23% менш (194 MB у Pack і 253 MB у ZIP). Для параўнання ўтыліта tar выканала пакаванне за 4.7 секунды без сціску і за 28.5 секунд са сціскам метадам gzip, архіватар RAR зладзіўся з тэстам за 27.5 секунд, а 7z за 54.2 секунды. Памер архіваў склаў: tar.gz – 214 MB, RAR – 235 MB, 7z – 135 MB. Адзначаецца, што па хуткасці распакавання і выпадковага доступу да файлаў Pack таксама апярэджвае іншыя архіватары, спажываючы пры гэтым менш аператыўнай памяці. ZIP: 253 MB, 146 s 7z: 135 MB, 54.2 s хутчэй ZIP у 2.7 разы tar.gz: 214 MB, 28.5 sx 5.1 RAR: 235 MB, 27.5 sx 5.3 tar: 1345 MB, 4.7 MB 31 sx 194

Пра ўплыў файлавага кэша на вынікі правядзення тэста не згадваецца. Верагодна, нізкая хуткасць ZIP абумоўлена парадкам запуску тэстаў без аглядкі на кэшаванне дадзеных у памяці - тэст з zip быў запушчаны пры халодным кэшы, а астатнія тэсты пры прагрэтым. У звычайных умовах Zstandard дэманструе ў 3-5 разоў больш высокую хуткасць сціску ў параўнанні з zlib і ў два разы хутчэйшае распакаванне, пры ўзроўні сціску вышэй на 10-15%.

Дадатак: Падобная ідэя захоўвання сціснутых файлаў у выглядзе блобаў у БД SQLite рэалізаваная ў 2014 году ў архіватары sqlar, створаным распрацоўнікамі SQLite у якасці эксперыменту для адзнакі эфектыўнасці захоўвання блобаў у SQLite. У sqlar для сціску прымяняецца zlib і памер файлаў прыкладна на 2% больш, чым ва ўтыліты ZIP.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster