Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 4
  • 39

Często zachodzi potrzeba szybkiego równoległego skompresowania dużych danych (backupy chociażby). Na jakie narzędzia do kompresji warto zwrócić uwagę - zwłaszcza w kontekście wykorzystania wielu rdzeni procesorów?

Są jakieś kryteria ich wyboru? Np - do kompresji danych binarnych warto zwrócić uwagę na XXX, do danych tekstowych YYY, a jak zależy na najmniejszym możliwym rozmiarze na ZZZ.

Andrzej_Dopierała
  • Zapytał
  • @ Andrzej_Dopierała | 11.11.2015
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedź (1)

  • 0

Na co dzień używam dwóch programów do kompresji równoległej - pxz i pigz.

 

Pierwszy -w sytuacji gdy zależy mi na mocnej kompresji. Zazwyczaj używam parametru -2 - który z moich doświadczeń zapewnia optymalny stosunek stosunku kompresji do czasu kompresji. Wyższe stopnie powodują znaczący wzrost czasu kompresji w stosunku do nieznacznego zysku wydajności. Oczywiście - sytuacja mocno zależy od ilości kompresowanych danych - w sytuacji gdy jest ich niewiele a serwer jest mało obciążony - warto użyć wyższego współczynnika kompresji.

W szczególności - xc jest bardzo fajny w sytuacji gdy zależy nam na prędkości rozpakowywania danych - zmiana z bzip2 na lzma - często przy porównywalnym stopniu kompresji powodowała u mnie znaczny zysk jeżeli chodzi o prędkość kompresji, oraz kilkukrotny albo nawet kilkunastokrotny zysk w sytuacji dekompresji.

Natomiast pigz używam w sytuacji gdy z jakiś powodów zależy mi na zgodności z formatem gzip (bo np oprogramowanie które sięga po skompresowane dane nie obsługuje formatu xz).

Czasami robię również myk iż:

  • dane wstępnie kompresuję gzipem (tak by ograniczyć ilość zajmowanego miejsca w stosunku do danych nieskompresowanych(a co za tym idzie obciążenie dysku przy zapisie)) - tak by wykonać np backup danych który potrwa możliwie krótko,
  • następnie dane dekompresuję i rekompresuję do lzma/xz z wyższym stopniem kompresji.

W ten sposób skracam do minimum czas robienia np dumpa danych sql (locki!), a w efekcie uzyskuję bardzo mały plik wyjściowy.

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 31.01.2016
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169