
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.
