kompresja danych jest zmniejszeniem liczby bitów potrzebnych do reprezentacji danych. Kompresja danych może zaoszczędzić pojemność pamięci masowej, przyspieszyć przesyłanie plików i obniżyć koszty sprzętu pamięci masowej i przepustowości sieci.
Jak działa kompresja
kompresja jest wykonywana przez program, który używa formuły lub algorytmu, aby określić, jak zmniejszyć rozmiar danych., Na przykład algorytm może reprezentować ciąg bitów-lub 0s i 1s-z mniejszym ciągiem 0s i 1s, używając słownika do konwersji między nimi, lub formuła może wstawić odniesienie lub wskaźnik do ciągu 0s i 1s, które program już widział.
kompresja tekstu może być tak prosta, jak usunięcie wszystkich niepotrzebnych znaków, wstawienie pojedynczego powtarzającego się znaku, aby wskazać ciąg powtarzających się znaków i zastąpienie mniejszego ciągu bitowego często występującym ciągiem bitowym., Kompresja danych może zredukować plik tekstowy do 50% lub znacznie wyższy procent jego oryginalnego rozmiaru.
w przypadku transmisji danych kompresja może być wykonywana na zawartości danych lub na całej jednostce transmisyjnej, w tym danych nagłówkowych. Gdy informacje są wysyłane lub odbierane przez internet, większe pliki, pojedynczo lub z innymi jako część pliku archiwum, mogą być przesyłane w formacie ZIP, GZIP lub innym skompresowanym formacie.
dlaczego kompresja danych jest ważna?
kompresja danych może znacznie zmniejszyć ilość miejsca zajmowanego przez plik., Na przykład, w stosunku kompresji 2:1, plik o rozmiarze 20 megabajtów (MB) zajmuje 10 MB miejsca. W wyniku kompresji administratorzy wydają mniej pieniędzy i mniej czasu na przechowywanie danych.
Kompresja optymalizuje wydajność pamięci masowej kopii zapasowych i ostatnio pojawia się w redukcji danych pamięci podstawowej. Kompresja będzie ważną metodą redukcji danych, ponieważ dane nadal rosną wykładniczo.
praktycznie każdy typ pliku może być skompresowany, ale ważne jest, aby postępować zgodnie z najlepszymi praktykami przy wyborze tych do kompresji., Na przykład niektóre pliki mogą być już skompresowane, więc kompresja tych plików nie będzie miała znaczącego wpływu.
metody kompresji danych: kompresja bezstratna i stratna
kompresja danych może być procesem bezstratnym lub stratnym. Kompresja bezstratna umożliwia przywrócenie pliku do stanu pierwotnego, bez utraty ani jednego bitu danych, gdy plik jest nieskompresowany. Kompresja bezstratna jest typowym podejściem do plików wykonywalnych, a także plików tekstowych i arkuszy kalkulacyjnych, w których utrata słów lub liczb zmieniłaby informacje.,
Kompresja stratna trwale eliminuje bity danych, które są zbędne, nieistotne lub niedostrzegalne. Kompresja stratna jest przydatna w przypadku grafiki, audio, wideo i obrazów, gdzie usunięcie niektórych bitów danych ma niewielki lub żaden zauważalny wpływ na reprezentację treści.
profesor David Brailsford, ze Szkoły Informatyki na Uniwersytecie w Nottingham,
omawia kompresję tekstu i zdjęć.
grafika Kompresja obrazu może być stratna lub bezstratna., Formaty plików graficznych są zazwyczaj przeznaczone do kompresji informacji, Ponieważ pliki mają tendencję do być duże. JPEG to format obrazu, który obsługuje stratną kompresję obrazu. Formaty takie jak GIF i PNG używają kompresji bezstratnej.
Kompresja a deduplikacja danych
kompresja jest często porównywana do deduplikacji danych, ale obie techniki działają inaczej. Deduplikacja to rodzaj kompresji, która szuka nadmiarowych fragmentów danych w pamięci masowej lub systemie plików, a następnie zastępuje każdy duplikat wskaźnikiem do oryginału., Algorytmy kompresji danych zmniejszają rozmiar ciągów bitowych w strumieniu danych o znacznie mniejszym zakresie i zazwyczaj zapamiętują nie więcej niż ostatni megabajt lub mniej danych.
analityk Taneja Group Mike Matchett omówił zalety Kompresji i deduplikacji oraz różnice między nimi.
deduplikacja na poziomie pliku eliminuje zbędne pliki i zastępuje je stubami wskazującymi na oryginalny plik. Deduplikacja na poziomie bloku identyfikuje zduplikowane dane na poziomie podrzędnym., System zapisuje unikalne wystąpienia każdego bloku, wykorzystuje algorytm hash do ich przetwarzania i generuje unikalny identyfikator do przechowywania ich w indeksie. Deduplikacja zwykle szuka większych porcji duplikatów danych niż kompresja, a systemy mogą deduplikować przy użyciu części o stałym lub zmiennym rozmiarze.
deduplikacja jest najskuteczniejsza w środowiskach o wysokim stopniu nadmiarowości danych, takich jak Infrastruktura wirtualnego pulpitu lub systemy kopii zapasowych pamięci masowej., Kompresja danych jest bardziej skuteczna niż deduplikacja w zmniejszaniu rozmiaru unikalnych informacji, takich jak obrazy, audio, filmy, bazy danych i pliki wykonywalne. Wiele systemów pamięci masowej Obsługuje zarówno kompresję, jak i deduplikację.
kompresja danych i tworzenie kopii zapasowych
kompresja jest często używana dla danych, do których nie ma dostępu, ponieważ proces ten może być intensywny i spowolnić systemy. Administratorzy mogą jednak bezproblemowo integrować kompresję w swoich systemach tworzenia kopii zapasowych.
Kopia zapasowa jest nadmiarowym rodzajem obciążenia, ponieważ proces często rejestruje te same pliki., Organizacja, która wykonuje pełne kopie zapasowe, często ma blisko tych samych danych z kopii zapasowej na kopię zapasową.
kompresja danych przed wykonaniem kopii zapasowej ma duże zalety:
- dane zajmują mniej miejsca, ponieważ stopień kompresji może osiągnąć 100:1, ale między 2:1 a 5:1 jest powszechny.
- jeśli kompresja jest wykonywana na serwerze przed transmisją, czas potrzebny na transmisję danych i całkowita przepustowość sieci są drastycznie zmniejszone.
- na taśmie skompresowany, mniejszy obraz systemu plików może być skanowany szybciej, aby dotrzeć do określonego pliku, zmniejszając opóźnienie przywracania.,
- kompresja jest obsługiwana przez oprogramowanie do tworzenia kopii zapasowych i biblioteki taśmowe, więc istnieje wybór technik kompresji danych.
plusy i minusy kompresji
główne zalety Kompresji to redukcja sprzętu pamięci masowej, czas transmisji danych i przepustowość komunikacji-i wynikające z tego oszczędności kosztów. Skompresowany plik wymaga mniejszej pojemności niż nieskompresowany, a użycie kompresji może prowadzić do znacznego zmniejszenia wydatków na dyski i/lub dyski półprzewodnikowe., Skompresowany plik wymaga również mniej czasu na transfer i zużywa mniej przepustowości sieci niż nieskompresowany plik.
główną wadą kompresji danych jest wpływ wydajności wynikający z wykorzystania zasobów procesora i pamięci do kompresji danych i wykonania dekompresji. Wielu dostawców zaprojektowało swoje systemy, aby spróbować zminimalizować wpływ intensywnych obliczeń procesora związanych z kompresją. Jeśli kompresja jest uruchamiana inline, zanim dane zostaną zapisane na dysku, system może odciążyć kompresję w celu zachowania zasobów systemowych., Na przykład IBM używa osobnej karty akceleracji sprzętowej do obsługi kompresji w niektórych systemach pamięci masowej dla przedsiębiorstw.
Jeśli dane są kompresowane po zapisaniu na dysk lub po procesie, kompresja może działać w tle, aby zmniejszyć wpływ na wydajność. Chociaż kompresja postprocesowa może skrócić czas reakcji dla każdego wejścia/wyjścia( I / O), nadal zużywa pamięć i cykle procesora i może wpływać na ogólną liczbę We/Wy obsługiwanych przez system pamięci masowej., Ponadto, ponieważ dane początkowo muszą być zapisywane na dysku lub nośnikach flash w nieskompresowanej formie, fizyczne oszczędności pamięci masowej nie są tak duże, jak w przypadku kompresji inline.
techniki kompresji danych: kompresja systemu plików
kompresja systemu plików polega na dość prostym podejściu do zmniejszenia przestrzeni dyskowej danych poprzez transparentną kompresję KAŻDEGO pliku w trakcie jego zapisu.
wiele popularnych systemów plików Linuksowych-w tym Reiser4, ZFS i btrfs – oraz Microsoft NTFS ma opcję kompresji., Serwer kompresuje fragmenty danych w pliku, a następnie zapisuje mniejsze fragmenty do magazynu.
read-back wiąże się ze stosunkowo małym opóźnieniem, aby rozwinąć każdy fragment, podczas gdy zapis powoduje znaczne obciążenie serwera, więc kompresja zwykle nie jest zalecana dla danych, które są niestabilne. Kompresja systemu plików może osłabić wydajność, dlatego powinna być wdrażana wybiórczo na plikach, do których nie ma często dostępu.,
historycznie, z drogimi dyskami twardymi wczesnych komputerów, oprogramowanie do kompresji danych, takie jak DiskDoubler i SuperStor Pro, było popularne i pomogło ustanowić główną kompresję systemu plików.
administratorzy pamięci masowej mogą również zastosować technikę kompresji i deduplikacji w celu lepszej redukcji danych.
technologie i produkty wykorzystujące kompresję danych
kompresja jest wbudowana w szeroką gamę technologii, w tym systemy pamięci masowej, bazy danych, systemy operacyjne i aplikacje wykorzystywane przez firmy i organizacje przedsiębiorstw., Kompresja danych jest również powszechna w urządzeniach konsumenckich, takich jak laptopy, komputery PC i telefony komórkowe.
wiele systemów i urządzeń wykonuje kompresję w sposób przejrzysty, ale niektóre dają użytkownikom możliwość włączenia lub wyłączenia kompresji. Może być wykonywana więcej niż raz na tym samym pliku lub fragmencie danych, ale kolejne kompresje powodują niewielką lub żadną dodatkową kompresję, a nawet mogą zwiększyć rozmiar pliku w niewielkim stopniu, w zależności od algorytmów kompresji danych.
WinZip jest popularnym programem Windows, który kompresuje pliki, gdy pakuje je do archiwum., Formaty plików archiwalnych obsługujące kompresję to ZIP i RAR. Formaty BZIP2 i GZIP są szeroko stosowane do kompresji pojedynczych plików.
inni dostawcy oferujący kompresję to Dell EMC z matrycą XtremIO all-flash, Kaminario z matrycą K2 all-flash i RainStor z oprogramowaniem do kompresji danych.
różnicowanie danych
różnicowanie danych jest ogólnym terminem porównywania zawartości dwóch obiektów danych., W kontekście kompresji polega na powtarzalnym przeszukiwaniu pliku docelowego w celu znalezienia podobnych bloków i zastąpieniu ich odniesieniem do obiektu biblioteki. Proces ten powtarza się, dopóki nie znajdzie dodatkowych duplikatów obiektów. Różnice w danych mogą skutkować wieloma skompresowanymi plikami z tylko jednym elementem w bibliotece reprezentującym każdy zduplikowany obiekt.
w wirtualnych pulpitach technika ta może charakteryzować się współczynnikiem kompresji wynoszącym aż 100:1., Proces jest często bardziej zbliżony do deduplikacji, która szuka identycznych plików lub obiektów, a nie w zawartości każdego obiektu.
różnicowanie danych jest czasami określane jako deduplikacja.