REKLAMA

Programista 3/2020 (90) – maj / czerwiec 2020 – Kompresja GZIP od kuchni

indexed_gzip: tajniki DEFLATE oraz losowy dostęp do skompresowanych danych

Szacuje się, że ludzkość generuje kwintyliony bajtów (1030) danych dziennie [3]. Gdyby nie techniki kompresji danych, liczby te byłyby co najmniej kilkukrotnie większe. Kompresja danych jest obecnie tak powszechna, że trudno znaleźć miejsce, gdzie nie jest wykorzystywana. Kompresja wiąże się z pewnymi kosztami, jednak korzyści z niej płynące często przewyższają niedogodności.

W artykule przybliżymy algorytm stojący za formatem archiwów GZIP. Zaprezentujemy również sposób dekompresji fragmentów archiwów bez przetwarzania ich w całości. Dodatkowo przedstawimy przykład wykorzystania zdobytej wiedzy w praktycznym rozwiązaniu oszczędzającym czas procesora i przestrzeń dyskową...

Zagadnienia poruszane w tym artykule:

  • Kompresja danych;
  • Co pod maską kryje GZIP?
  • LZ77;
  • Kodowanie huffmana;
  • Indeksowanie archiwum gzip;
  • Implementacja;
  • Dekompresja;
  • Poprawność i wydajność;
  • Integracja z S3/HTTP;

Artukuł pochodzi z magazynu Programista nr 90 (3/2020). Jest to wydanie z przełomu maja i czerwca 2020r. Szczegółowy spis treści wydania nr 90: https://programistamag.pl/programista-3-2020-90/

Autorem artykułu jest Sławomir Zborowski. Programista z pasją, który pamięta czasy Linuxa łupanego. Pracuje jako architekt R&D we wrocławskim oddziale Nokii, gdzie zajmuje się rozwijaniem aplikacji rozproszonych. Po godzinach w wolnym czasie rozwija swoje miniprojekty. Czasami coś skrobnie na https://slawomir.net.