Eksperimenti me përdorimin e SQLite si një kontejner për arkivimin e skedarëve

Projekti Pack bëri përpjekjen për të krijuar një format për arkivimin e skedarëve, i ndërtuar mbi bibliotekën SQLite dhe algoritmin e kompresimit ZSTD (Zstandard). Prototipi i përgatitur, i shkruar në gjuhën Pascal dhe i shpërndarë nën licencën Apache 2.0, e kaloi në shpejtësi krijimin e arkivave arkivatorët më të zakonshëm, ndërsa funksionimi i tij përfshinte leximin e të dhënave, kompresimin nga biblioteka libzstd dhe ekzekutimin e operacioneve SQL për të shtuar të dhënat e kompresuara në skedarin me DB SQLite.

GjatĂ« kompresimit tĂ« njĂ« katalogu me 81 mijĂ« skedarĂ«, me njĂ« madhĂ«si totale prej 1.25 GB, pack ishte 112 herĂ« mĂ« i shpejtĂ« se utilitari ZIP, duke e kryer operacionin nĂ« 1.3 sekonda nĂ« krahasim me 146 sekonda tĂ« ZIP. MadhĂ«sia e arkivit tĂ« krijuar me pack ishte 23% mĂ« e vogĂ«l (194 MB pĂ«r Pack dhe 253 MB pĂ«r ZIP). PĂ«r krahasim, utilitari tar e realizoi paketimin nĂ« 4.7 sekonda pa kompresim dhe nĂ« 28.5 sekonda me metodĂ«n gzip, arkivatori RAR u mor me testin nĂ« 27.5 sekonda, ndĂ«rsa 7z nĂ« 54.2 sekonda. MadhĂ«sitĂ« e arkivave ishin: tar.gz — 214 MB, RAR — 235 MB, 7z — 135 MB. VĂ«rehet se nĂ« shpejtĂ«sinĂ« e shpĂ«rbĂ«rjes dhe aksesin rastĂ«sor nĂ« skedarĂ«, Pack gjithashtu e kalon arkivatorĂ«t e tjerĂ«, duke konsumuar mĂ« pak memorie operative.

Nuk pĂ«rmendet ndikimi i caches skedarĂ«ve nĂ« rezultatet e testit. Ndoshta, shpejtĂ«sia e ulĂ«t e ZIP Ă«shtĂ« pĂ«r shkak tĂ« rendit tĂ« ekzekutimit tĂ« testeve pa marrĂ« parasysh ruajtjen e tĂ« dhĂ«nave nĂ« memorie — testi me zip u ekzekutua me cache tĂ« ftohtĂ«, ndĂ«rsa testet e tjera me cache tĂ« ngrohtĂ«. NĂ« kushte normale, Zstandard tregon njĂ« shpejtĂ«si kompresimi 3-5 herĂ« mĂ« tĂ« lartĂ« nĂ« krahasim me zlib dhe dy herĂ« mĂ« tĂ« shpejtĂ« nĂ« shpĂ«rbĂ«rje, me njĂ« nivel kompresimi mĂ« tĂ« lartĂ« me 10-15%.

Shtesë: Një ide e ngjashme për ruajtjen e skedarëve të kompresuar si blob në DB SQLite u realizua në 2014 në arkivatorin sqlar, të krijuar nga zhvilluesit e SQLite si një eksperiment për të vlerësuar efikasitetin e ruajtjes së blob-eve në SQLite. Në sqlar, për kompresimin përdoret zlib dhe madhësitë e skedarëve janë rreth 2% më të mëdha se ato të utilitarit ZIP.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster