Deduplikacja progresywna
Deduplikacja progresywna (ang. progressive deduplication) – technologia wykorzystująca metodę deduplikacji blokiem o stałej wielkości (ang. fixed-block) i zmiennej wartości (variable-block).
Szybkością dorównuje technologii typu fixed-block wykorzystując bloki o stałej wielkości, jeżeli tylko jest to możliwe. Pozwalają one na bardzo praktyczne rozpoznawanie typu pliku, z jakim mechanizm deduplikacji ma do czynienia (np. plik .ppt), co pozwala na jeszcze większe oszczędności czasowe. Możliwościami deduplikacja progresywna dorównuje tej o zmiennej wielkości bloku, rozpoznając wszelkie zmiany dokonane w dowolnym miejscu pliku, co wyraźnie zwiększa współczynnik kompresji.
Przewagą deduplikacji progresywnej nad metodą variable-block jest możliwość rozpoznawania typu pliku z jakim proces ma do czynienia, oraz przetwarzaniu uprzednio zapisanych części danych z prędkością osiąganą przez deduplikację fixed-block.
Progresywna deduplikacja różni się od innych rodzajów sposobem dostosowywania wielkości bloków skanujących plik w poszukiwaniu duplikatów. Na początku plik jest dzielony na bloki identycznych rozmiarów, tak jak w przypadku metody fixed-block. Jednak pozwala ona blokom na nachodzenie na siebie, dzięki czemu granica bloku może wystąpić w dowolnym miejscu. Ma to znaczenie w przypadku zmian dokonanych wewnątrz pliku. Modyfikacje tego typu powodują, iż uprzednio zapisane, znane już bloki ulegają przesunięciu w dół sekwencji pliku, wskutek czego nie byłyby rozpoznane przez tradycyjne typy deduplikacji. Są natomiast rozpoznawane przez deduplikację progresywną.
Deduplikacja progresywna ustala optymalną wielkość bloku dla konkretnego typu pliku. W zależności od deduplikowanego pliku, rozmiar bloku to 1 kB, 2 kB, 4 kB... 32 kB. Dzięki tej możliwości osiągalne są lepsze współczynniki kompresji.
W tej technologii wykorzystano okienko skanujące plik w poszukiwaniu zduplikowanych bloków. Jest to metoda na tyle efektywna, że wykrywa duplikaty w każdym bajcie pliku, jednocześnie nie wymaga ogromnych mocy obliczeniowych. Jest to możliwe dzięki wykorzystaniu dwóch typów algorytmów haszujących, którymi dysponuje branża IT: lekkiego i ciężkiego. Szybki i lekki algorytm haszujący rozpoznaje możliwe duplikaty, które następnie są wnikliwie badane algorytmem dokładnym. Z uwagi na fakt, iż ponad 99% możliwych duplikatów okazuje się być dokładnymi kopiami, progresywne skanowanie jest bardzo efektywne przy rozsądnym obciążeniu zasobów systemowych.