Deze pagina is ook beschikbaar in het Engels. View in English

Compressie die eerst uw data leest.

invariantity kijkt naar de structuur in uw data voordat het kiest hoe die gecomprimeerd wordt. Verschillende data comprimeert verschillend, dus we meten per domein en publiceren de resultaten hieronder, inclusief het slechtste.

invariantity — gemeten compressiebenchmarks INV-01 Rev A Blad 01 van 06
Nr.DatadomeinGemeten resultaatOpmerking
01Gestructureerde data (JSON)16,8×Volledige 912 MB GitHub Archive-dump, geen steekproef
02Back-ups en versiegeschiedenis71,4×Reeks van 20 back-up-versies, cross-file dedup
03t.o.v. zstd, xz, bzip2, brotli (max-niveau)1 verlies (van 38)35 winsten, 2 gelijkspel elders; tot 2,20× scherper op het beste geval (Apache-logs). Het ene verlies is 0,76% op een object-bestand van 21 KB.
04Documenten (PDF)3,8–6,1×Varieert met hoeveel van de PDF al gecomprimeerde beelddata is
05Logbestanden (Apache, HDFS, Linux, OpenSSH, Spark, Zookeeper, HealthApp)12,2–56,2×7 echte productie-logformaten uit de LogHub-benchmarkset
06Reeds gecomprimeerde binaire media (JPEG, PNG)≈1,0×De ondergrens. Gemeten op alle 24 Kodak-PNG's + 4 JPEG's. Op 10 van de 24 PNG's vindt een gespecialiseerde codec nog een kleine restwinst (0,04–0,85%) die deze versie niet nastreeft.

Alle waarden zijn gemeten, niet geprojecteerd, per run gelogd. Rij 06 is het slechtste geval en staat er bewust op, inclusief waar die nu net iets tekortschiet.

Bekijk de per-bestand data achter rij 01–06 (38 bestanden t.o.v. zstd/xz/bzip2/brotli, plus alle 28 Kodak-ondergrensbeelden)

Calgary-corpus (algemene tekst & code, 18 bestanden)

BestandOrigineelinvariantityRatioBeste van zstd/xz/bzip2/brotli
bib111.26123.1974,80×4,05× (bzip2)
book1768.771208.2203,69×3,31× (bzip2)
book2610.856136.9914,46×3,88× (bzip2)
geo102.40048.2202,12×1,94× (brotli)
news377.109101.7463,71×3,34× (brotli)
obj121.5049.4722,27×2,30× (brotli, verlies)
obj2246.81461.4724,01×4,02× (xz, gelijkspel)
paper153.16113.3653,98×3,44× (brotli)
paper282.19920.6383,98×3,31× (brotli)
paper346.52612.4343,74×3,18× (brotli)
paper413.2863.7183,57×3,10× (brotli)
paper511.9543.7203,21×2,93× (brotli)
paper638.1059.7963,89×3,42× (brotli)
pic513.21633.90915,13×12,87× (xz)
progc39.61110.0383,95×3,41× (brotli)
progl71.64612.1715,89×5,12× (brotli)
progp49.3798.6655,70×5,00× (brotli)
trans93.69513.6726,85×6,08× (brotli)

Canterbury-corpus (algemene tekst, code, spreadsheet, fax, 11 bestanden)

BestandOrigineelinvariantityRatioBeste van zstd/xz/bzip2/brotli
alice29.txt152.08936.2624,19×3,52× (bzip2)
asyoulik.txt125.17933.8093,70×3,16× (bzip2)
cp.html24.6036.3133,90×3,57× (brotli)
fields.c11.1502.2954,86×4,10× (brotli)
grammar.lsp3.7211.0263,63×3,31× (brotli)
kennedy.xls (spreadsheet)1.029.74426.70638,56×19,85× (xz)
lcet10.txt426.75492.1644,63×3,96× (bzip2)
plrabn12.txt481.861131.3633,67×3,31× (bzip2)
ptt5 (faxscan)513.21633.90915,13×12,87× (xz)
sum38.2409.5164,02×4,02× (xz, gelijkspel)
xargs.14.2271.3243,19×2,89× (brotli)

Documenten (PDF)

BestandOrigineelinvariantityRatioBeste van zstd/xz/bzip2/brotli
reymont (Silesia-corpus, Poolse roman)6.627.2021.085.9996,10×5,32× (bzip2)
attention.pdf (openbaar arXiv-paper)2.215.244584.2843,79×2,15× (brotli)

Logbestanden (LogHub productie-logformaten, 7 bestanden)

BestandOrigineelinvariantityRatioBeste van zstd/xz/bzip2/brotli
Apache_2k.log171.2393.04656,22×25,54× (brotli)
OpenSSH_2k.log225.2165.22243,13×23,10× (xz)
Linux_2k.log216.4856.72832,18×21,62× (xz)
Spark_2k.log196.2686.68829,35×21,63× (xz)
HealthApp_2k.log187.4567.38825,37×15,49× (brotli)
Zookeeper_2k.log279.89111.45024,45×18,87× (bzip2)
HDFS_2k.log287.84823.50512,25×7,02× (brotli)

Reeds gecomprimeerde binaire media (de ondergrens, alle 28 Kodak-referentiebeelden)

BestandOrigineelinvariantityRatioBeste van zstd/xz/bzip2/brotli
kodim01/05/12/18.jpg (4 JPEG's, gem.)161.864 gem.161.880 gem.1,00×≤1,00× (brotli, geen betekenisvol verschil)
14 van de 24 PNG's (gem., geen betekenisvol verschil)621.477 gem.621.493 gem.1,00×≤1,00× (alleen 16-byte store-header)
kodim02.png617.995618.0111,00×1,00× (xz, 0,22% kleiner)
kodim04.png637.432637.4481,00×1,00× (xz, 0,28% kleiner)
kodim08.png788.470788.4861,00×1,01× (bzip2, 0,85% kleiner)
kodim09.png582.899582.9151,00×1,00× (xz, 0,22% kleiner)
kodim10.png593.463593.4791,00×1,00× (xz, 0,05% kleiner)
kodim15.png612.582612.5981,00×1,00× (xz, 0,04% kleiner)
kodim18.png780.947780.9631,00×1,01× (xz, 0,73% kleiner)
kodim19.png671.476671.4921,00×1,01× (xz, 0,80% kleiner)
kodim22.png701.970701.9861,00×1,00× (xz, 0,36% kleiner)
kodim24.png706.397706.4131,00×1,00× (xz, 0,17% kleiner)

Zodra invariantity data herkent als al gecomprimeerd, slaat het die op zoals ze is in plaats van tijd te besteden aan verder comprimeren. Bij de 4 JPEG's en 14 van de 24 PNG's kost dat niets meer dan een 16-byte header. Bij de andere 10 PNG's vindt een algemene codec nog een kleine restwinst (0,04–0,85%) die deze versie niet nastreeft — we onderzoeken of een goedkope tweede controle het waard is.

02 · Waar het loont

Cloudopslag & model-hubs

Petabytes aan gebruikersbestanden en artefacten, meestal gestructureerd of repetitief. Over 38 echte bestanden op max-instellingen t.o.v. standalone zstd, xz, bzip2 en brotli won invariantity er 35 en speelde het 2 gelijk, met één verlies van 0,76% op één bestand — overstappen is dus zelden een nadeel, ook op bestanden die die tools al goed aankunnen.

Back-up & disaster recovery

Versiegeschiedenis is de meest redundante data die er is; daarom is het ons beste gemeten resultaat met 71,4× op een reeks van 20 back-up-versies. Langere retentie in dezelfde footprint, en restores verplaatsen minder data.

Datapipelines & warehouses

JSON-events zijn sterk gestructureerd, gemeten op 16,8× op een volledige dump van 912 MB, geen gunstige steekproef. Applicatielogs zijn nog repetitiever: tot 56,2× op echte Apache-logs. Goed comprimeren verlaagt zowel de opslag- als de egress-rekening, op elke plek waar de data staat of beweegt.

03 · De ondergrens

We tonen de ondergrens bewust

Op reeds gecomprimeerde binaire media zoals JPEG en PNG meet invariantity ongeveer 1,0×, over de standaard Kodak-referentieset (24 PNG's, 4 JPEG's). Dat is de eerlijke ondergrens, en die staat op deze pagina omdat een benchmarktabel zonder slechtste geval een advertentie is, geen meting — inclusief het deel waar op 10 van die 24 PNG's een algemene codec nog een kleine restwinst vindt (tot 0,85%) die onze huidige versie niet nastreeft. PDF’s bleken hier niet bij te horen: twee echte documenten die we testten kwamen op 3,8× en 6,1× uit, omdat de eigen structuur van een PDF veel meer varieert dan bij een al-DCT-gecomprimeerde afbeelding. Als uw data grotendeels echt al-gecomprimeerde pixels is, zeggen we dat de winst bescheiden is voordat u een dag aan integratie besteedt.

04 · Vragen die we echt krijgen

Hoe verhoudt dit zich tot zstd of xz?

zstd en xz zijn uitstekende algemene compressors en dat ontkennen we niet. invariantity verschilt op één punt dat we kunnen noemen zonder de methode prijs te geven: het kijkt naar de structuur in uw data voordat het kiest hoe te comprimeren, en toetst die keuze vervolgens alsnog aan zstd, xz, bzip2 en brotli op hun eigen maximale instellingen. Over 38 zo geteste echte bestanden won het er 35 duidelijk, speelde het er 2 gelijk en verloor het er 1 (een verschil van 0,76% op een object-bestand van 21 KB) — tot 2,20× scherper dan het beste alternatief op het beste geval. Een volledige methodologie verschijnt met de evaluatieversie, zodat u de vergelijking op uw eigen data kunt reproduceren.

Is het open source?

Nu niet. De kern is proprietary. We plannen een publieke evaluatieversie zodat u deze cijfers op uw eigen data kunt verifiëren voordat u zich ergens aan verbindt; dat vinden wij belangrijker dan onze broncode lezen.

Wat gebeurt er met bestanden die al gecomprimeerd zijn?

Op echt al-gecomprimeerde binaire media zoals JPEG en PNG haalt u ongeveer 1,0×, de ondergrens in de tabel hierboven (op 10 van de 24 PNG-referentiebeelden vindt een gespecialiseerde codec nog een kleine restwinst van 0,04–0,85% die onze huidige versie niet nastreeft). PDF's zijn een gedeeltelijke uitzondering, want die dragen vaak hun eigen comprimeerbare structuur: twee echte PDF's die we testten kwamen op 3,8× en 6,1× uit. Bestaat uw data vooral uit al-gecomprimeerde pixels in plaats van documenten, dan rechtvaardigt de omvangswinst alleen waarschijnlijk geen migratie, en dat zeggen we als u vertelt wat u opslaat.

Wanneer is het beschikbaar?

We zijn pre-launch. Private pilots komen eerst, geprioriteerd op datatype, omdat de winst afhangt van wat u opslaat. Laat hieronder uw gegevens achter en vertel hoe uw data eruitziet; dat is echt de snelste route naar binnen.

05 · Pilottoegang

Vertel ons wat u opslaat

We antwoorden met wat de gemeten cijfers zeggen over uw datatype, ook als het antwoord is dat de winst bescheiden zou zijn. Er volgt geen drip-campagne.