Deduplikowanie danych – FAQ (cz. I)

0

1. Co to jest deduplikowanie danych?

Deduplikowanie danych można porównać do kompresji, przy czym deduplikowanie wyszukuje powtarzające się bardzo duże sekwencje bajtów w bardzo dużych okienkach porównań. Długie sekwencje (8 kB i więcej) są porównywane z bazą innych sekwencji i gdzie to jest możliwe, system zapamiętuje odwołanie do pierwszej zapisanej, unikalnej wersji sekwencji, a nie zapisuje sekwencji ponownie. W systemie pamięci masowej operacja taka jest niewidoczna dla użytkowników i aplikacji, dzięki czemu cały plik może być odczytany po zapisaniu na dysku.

2. Dlaczego należy deduplikować dane?

Eliminowanie nadmiarowych danych może w znaczny sposób zmniejszyć zapotrzebowanie na pojemność pamięć masowej i zwiększyć wydajność systemu. Ponieważ podstawowe systemy pamięci masowych są coraz tańsze, firmy przechowują na nich wiele wersji tych samych informacji. Niektóre operacje, takie jak tworzenie kopii zapasowych danych, przechowują na dyskach bardzo dużo nadmiarowych informacji. Deduplikowanie obniża koszty posiadania pamięci masowych, ponieważ mogą one zawierać mniej dysków. Skraca też znacznie czas potrzebny do wykonania kopii zapasowych danych oraz odzyskania danych, ponieważ operacje te transferują dużo mniej danych. Rozpatrując całe zagadnienie w kontekście systemów pamięci masowych typu nearline i tworzenia kopii zapasowych danych można powiedzieć, że deduplikowanie odgrywa w tych obszarach bardzo dużą rolę. Bez deduplikowania te same informacje są ciągle i wiele razy zapisywane na dyskach twardych lub na taśmach, zajmując na nich niepotrzebnie miejsce. Zwiększa się też wtedy zapotrzebowanie na energię (dyski i napędy taśmowe pobierają przecież prąd i muszą być chłodzone) oraz na przepustowość połączeń sieciowych (które są wykorzystywane podczas operacji replikowania danych), przyczyniając się walnie do powstawania w firmach łańcucha dodatkowych kosztów.

3. Jak pracuje system deduplikowania danych?

System deduplikowania dzieli strumień przychodzących danych na segmenty, identyfikuje każdy taki segment jako unikatowy, a następnie porównuje segmenty z segmentami zapisanymi wcześniej w pamięci masowej. Jeśli przychodzący segment jest duplikatem zapisanego wcześniej segmentu, segment taki nie jest ponownie zapisywany, a system duplikowania tworzy tylko odwołanie do tego segmentu. Jeśli jest to jednak unikalny segment, jest on zapisywany w całości na dysku.

Weźmy np. plik lub wolumen, którego kopia zapasowa jest tworzona regularnie co tydzień. Plik taki jest wtedy ciągle duplikowany i zapisywany co tydzień na dysku. Algorytmy deduplikowania analizują dane i zapisują tylko skompresowane, unikalne elementy pliku, które uległy zmianie. Proces taki powoduje, że zapotrzebowanie na pojemność pamięci masowej można obniżyć średnio od 10 do 30 razy, a niekiedy i więcej. Oznacza to, że firma może przechowywać 10 do 30 TB zapasowych kopii danych na jednym fizycznym dysku o pojemności 1 TB. Widać więc, jak olbrzymie korzyści niesie ze sobą system deduplikowania danych.

4. Czy metoda SIS (Single Instance Store) jest formą deduplikowania danych?

Operacja ograniczania liczby kopii duplikowanych plików jest również metodą deduplikowania danych. Metoda taka nosi nazwę SIS (Single Instance Storage). Jest to deduplikowanie na poziomie plików, pozwalające wyeliminować duplikaty plików przechowywanych w pamięci masowej. SIS przechowuje w pamięci masowej tylko pojedyncze wystąpienia (instancje) danych lub plików.

Jeśli użytkownik zmieni np. tytuł dokumentu Word, który ma długości 2 MB, to system SIS zachowa na dysku pierwszą kopię dokumentu oraz zapisze na nim drugą kopię zmodyfikowanego przez użytkownika dokumentu. Jakakolwiek zmiana wprowadzona do dokumentu powoduje, że system SIS utworzy kolejne kopie. Deduplikowanie, które pozwala ograniczać dane na mniejszym poziomie niż całe pliki, rozpozna wtedy, że zmianie uległ sam tytuł dokumentu i w efekcie zapisze na dysku tylko nowy tytuł, zachowując oczywiście odwołanie do całego dokumentu, tak aby można go było odczytywać.

5. Jak efektywnie pracuje system deduplikowania danych?

Po pierwsze, redundancja będzie się różnić zależnie od rodzaju aplikacji, częstotliwości odczytywania różnych wersji danych i od polityki dotyczącej retencji (czyli od tego, jak długo dane muszą być przechowywane w systemie). Do znaczących czynników wpływających na stopień deduplikania danych należy zaliczyć również częstotliwość zmian danych (mniej zmian oznacza, że więcej danych będzie deduplikowanych); częstotliwość wykonywania kopii zapasowych (większa częstotliwość oznacza, że dane będą efektywniej kompresowane); politykę dotyczącą retencji (dłuższe okresy przechowywania informacji oznaczają, że system deduplikowania musi porównywać ze sobą więcej danych) oraz ilość danych (więcej danych, więcej do deduplikowania).

Porównując ze sobą różne rozwiązania, należy dokładnie sprawdzać jakie funkcjonalności obsługuje każde z nich. I tak np. niektóre programy do wykonywania kopii zapasowych danych mogą obsługiwać deduplikowanie, ale jednocześnie wspierają polityki pozwalające tworzyć tylko przyrostowe kopie zapasowe danych. Korzyści wynikające z deduplikowania są wtedy mniejsze.

Zastosowana technologia procesu deduplikowania ma duży wpływ na współczynnik kompresowania danych. Techniki deduplikowania dzielą zazwyczaj każdy plik na segmenty czy mniejsze porcje danych; rozmiary segmentów są różne, zależnie od tego jaką technologię stosuje dostawca rozwiązania. Jeśli segmenty są długie, mniej segmentów pasuje do siebie, co w efekcie powoduje, że oszczędności na pojemności pamięci masowej są mniejsze (i mniejsze są współczynniki kompresowania danych). Jeśli segmenty są krótkie, prawdopodobieństwo wyszukania dwóch identycznych segmentów jest dużo większe.

Poszczególni dostawcy systemów deduplikowania danych stosują różne metody dzielenia plików na segmenty. Niektórzy dzielą pliki na segmenty mające stałą długość, podczas gdy inni stosują segmenty o różnych długościach.

  • Segmenty o stałych długościach (także bloki). Główne ograniczenie przy stosowaniu takiej metody polega na tym, że w momencie, gdy dane w pliku są przesuwane (co ma miejsce np. po dodaniu do prezentacji PowerPoint kolejnej ilustracji), wszystkie kolejne bloki w pliku będą nadpisywane i będą traktowane jako inne niż te znajdujące się w oryginalnym pliku, tak iż stopień kompresji danych będzie mniejszy. Krótsze bloki przyczyniają się do lepszego deduplikowania danych niż długie bloki, ale system deduplikowania musi wtedy przetworzyć więcej danych.
  • Segmenty o zmiennych długościach. Bardziej zaawansowane podejście polega na zastosowaniu segmentów o różnych długościach. Długość segmentu zależy wtedy od wzoru danych znajdujących się w segmencie. Podejście takie pozwala rozwiązać problem związany z przesuwaniem danych wewnątrz pliku, który występuje w technologii opartej na segmentach o stałej długości.

Autorem tekstu jest Philip Turner, Regional Director, UK & Ireland at Data Domain

Pozostałe części tego przewodnika:
część II
część III

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ