Meta bemutatja az OpenZL-t: új, nyílt forráskódú adat-tömörítési keretrendszer

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi és Paypal!

kami911 képe

A Meta (a Facebook mögött álló vállalat) bemutatta az OpenZL-t, egy új, nyílt forráskódú adat-tömörítési keretrendszert, amely a strukturált adatok – például adatbázisok, táblázatok vagy jól szervezett információk – hatékony, veszteségmentes tömörítésére lett tervezve. Az OpenZL célja, hogy csökkentse a fájlok méretét, gyorsabbá tegye az adatok átvitelét hálózatokon, és mindezt információvesztés nélkül tegye lehetővé. Az OpenZL kiemelkedő tulajdonsága, hogy nem egyszerűen bájtsorozatként kezeli a fájlokat, hanem figyelembe veszi az adatok belső szerkezetét: oszlopokat, számokat, ismétlődő mintákat. Ez lehetővé teszi, hogy a tömörítés sokkal hatékonyabb legyen, mint a hagyományos, általános célú tömörítők esetén. Az eredmény veszteségmentes (lossless) tömörítés, vagyis az eredeti adat tökéletesen visszaállítható. Az OpenZL teljesítménye a formátumspecifikus tömörítőkkel vetekszik, miközben csak egyetlen végrehajtható programot igényel minden fájltípushoz. Ez egyszerűsíti a karbantartást és javítja a biztonságot.

OpenZL vs. hagyományos tömörítők

A Meta szerint az OpenZL válasz a meglévő tömörítők, például a Zstandard korlátaira. Bár a Zstandard gyors és megbízható arányokat biztosít, ez még mindig általános célú eszköz, amely nem használja ki teljes mértékben a modern adatkészletek szerkezetét. Az OpenZL ezzel szemben kombinálja a sebességet és a formátum-tudatosságot, így jobb teljesítményt nyújt strukturált adatoknál.

Automatizált tanulás és sémák

A fejlesztők kis sémák vagy a Simple Data Description Language segítségével írhatják le adataik szerkezetét. Az OpenZL beépített “trainer” modulja automatikusan megtanulja a legjobb tömörítési tervet, amely később hasonló adatkészletekhez újra felhasználható, időt takarítva meg és biztosítva a konzisztenciát.

Teljesítmény és rugalmasság

Korai mérések szerint az OpenZL lenyűgöző eredményeket mutat. Például a Silesia Compression Corpus “sao” fájljának tömörítése során 2,06×-os arányt ért el, míg az xz 1,64×, a zstd pedig 1,31× arányt produkált. A sebesség is kiemelkedő: Apple M1 chipen a tömörítés 340 MB/s, a kicsomagolás 1,2 GB/s.

Tömörítő zstd -3 xz -9 OpenZL
Tömörített méret 5,531,935 B​ 4,414,351​ B 3,516,649​ B
Tömörítési arány x1.31 x1.64 x2.06
Tömörítési sebesség 220 MB/s 3.5 MB/s 340 MB/s
kitömörítési sebesség 850 MB/s 45 MB/s 1200 MB/s

Az OpenZL alkalmazkodó képessége további előny: támogatja az automatikus újratanulást és a futásidejű beállításokat, így a tömörítési stratégia folyamatosan fejlődhet az adatok változásával, anélkül, hogy a kompatibilitás sérülne. Ez a rugalmasság a Meta belső Managed Compression rendszerére épül, amelyet korábban a Zstandardtal használtak a Facebook infrastruktúráján.

Elérhetőség és kipróbálás

A fejlesztők és kutatók már ma kipróbálhatják az OpenZL-t. A forráskód, a dokumentáció és a gyors kezdő útmutató (Quick Start Guide) elérhető a GitHub-on, emellett egy whitepaper részletesen bemutatja a tervezést és a teljesítményadatokat.

Forrás és további információk a GitHub kódtárban