2008 yılı içerisinde De-duplication (Tekil Yedekleme) terimini çokca duyduk ve tahmin ediyorum konu hakkında ortalama bir bilgimiz oldu. Bu yazımda de-duplication konseptine tekrar değinerek endüstrideki çözümler nelerdir ve hangi yöntemlerle uygulanıyor biraz değinmek istedim. Önümüzdeki yıllarda de-duplication konseptinin daha da yaygınlaşacağını ve daha olgun hale geleceğini tahmin ediyorum.

Basit anlamda “De-duplication”, verilerin sabit (fixed) ya da değişken (variable) büyüklüklerde parçalara bölünerek yedeklenmesi işlemidir. Aynı parçaların (identical segments) tek kopyası tutulur ve gerçek veri için linkler oluşturulur. De-duplication Block (byte/bit) seviyesinde yapıldığı takdirde daha iyi sonuçlar alınabilir.

  • Single-Instance Storage,
  • Unique Backup,
  • Delta Encoding,

gibi tanımlamalar değişik yöntemlerde yapılan de-duplication işlemlerini ifade etmektedir.

Metodoloji olarak “Fixed Segment” (Sabit Bölümlendirme) ve “Variable Segment” (Değişken Bölümlendirme) olarak iki tip yaklaşım vardır. Endüstirdeki tüm uygulamalar aşağı yukarı bu metodları kullanmaktadır.

Fixed Segmentation

Veri sabit büyüklüklerdeki parçalara(segment) bölünerek tekil parçalar yedeklenir. Tekrarlayan parçalar için de-duplication sistemi üzerinde bağlantılar (link) oluşturulur. Bu bağlantılar ilişkisel Veri Tabanı (Reletional Database) üzerinde tutulduğu gibi dosya sistemi (file system) üzerinde de tutulabilir. Fixed segmentation yönteminde de-duplication oranı “variable segmantation” yöntemine göre daha düşük olabilir.

Variable Segmentation

Veri değişken büyüklüklerdeki parçalara(segment) bölünerek tekil parçalar yedeklenir. Tekrarlayan parçalar için de-duplication sistemi üzerinde bağlantılar (link) oluşturulur. Bu bağlantılar ilişkisel Veri Tabanı (Relational Database) üzerinde tutulduğu gibi dosya sistemi (file system) üzerinde de tutulabilir. Dosya sistemi üzerinde zamanla parçalanmalar (fragmentation) dolayı perfomans problemleri yaşanabilir.

Aşağıdaki şekilde iki metedolojiye ait de-duplication yaklaşımları görebilirsiniz.

de-dupe_2

De-duplication işelemi mantıksal olarak aşağıdaki adımları içermektedir. Çözüm veya uygulama tipine göre bu adımlar değişiklik gösterebilir.

  1. Yedekleme işlemlerinde olduğu gibi değişen dosyalar tesbit edilir. Windows sistemlerde iyileştirme zamanı (modification time) ve dosya büyüklüğü (file size), unix sistemlerde ise değişiklik zamanı (change time) ve dosya büyüklüğü (file size) kullanılabilir.
  2. Üzerinde değişiklik yapılmış dosyalar segment lere bölünerek daha önce yedek alınmış dosya bloklarıyla karşılaştırma yapılır.
  3. Bölümlendirme öncesinde data kararlılığı bakımından dosyanın parmak izi çıkartılarak tekil olduğu garanti edilir. (Hash algoritmaları v.s.)
  4. Eğer saklanan alanda ilgili blok dan yok ise (tekrar etmiyorsa) blok saklanacağa alana transfer edilir ve ilgili blokla dosyanın bütünü arasında mantıksal ilişkilendirme (link) kurulur. (Daha önce bahsettiğim gibi linkler İlişkisel Veri Tabanı ‘nda tutulabileceği gibi dosya sistemi üzerinde de tutulabilir.)

De-duplication sistemleri entegre donanımsal çözümler (hardware appliance) olabileceği gibi yazılımsal (software appliance)çözümler de olabilir. Bazı de-duplication çözümleri yedekleme yazılımına ihtiyaç duyabileceği gibi replikasyon, şifreleme, sıkıştırma ve tape yedekleme özelliklerini de birlikte sunabilir.

Donanımsal çözümlerin avantajları;

  • Kolayca mevcut ortama entegre olabilir,
  • Kurulum gerektirmez,

Donanımsal çözümlerin dezavantajları;

  • Donanım seçme özgürlüğünü kısıtlar (sunucu, disk kaynağı, I/O birimleri v.s.)
  • Firmaya bağlı çözümler kullanılmak zorundadır,
  • Genişleme seçenekleri sınırlıdır.

Yazılımsal çözümlerin avantajları;

  • Ortam ihtiyaçlarına göre iyileştirme (modification) daha detaylı yapılabilir.
  • Donanım seçme özgürlüğü vardır.
  • Genişliyebilirliği yüksektir,

Yazılımsal çözümlerin dezavantajları;

  • Kurulum bilgisi gerektirir,

Genelde 3 noktada de-duplication yapılmaktadır.

  1. Kaynakta (Source) yapılan de-duplication: Sunucu de-duplication işlemini yapar. İşlemci bellek yükü getirir. Uzak lokasyonlar için en efektif çözümdür.
  2. Sunucu üzerinde yapılan de-duplication : Atanmış bir sunucu üzerinde de-duplication yapılır. Client ın hızlı bir şekilde yedek alması sağlanır. Kaynak üzerinde CPU ve bellek yükü daha azdır.
  3. Hedefte (Target) yapılan de-duplication : Hızlı yedek alınır, . Hedef ortamının kaynakları dar boğaz oluşturur.

De-duplication uygulaması ya da çözümüne karar verirken aşağıdaki maddelerin sorgulanması faydalı olacaktır,

  1. De-duplication hangi yöntemle yapılmaktadır?
  2. Segmentasyon (segmentation) işleminde data kararlılığını sağlamak için ne tür çözüm ya da yöntemler kullanılıyor?
  3. De-duplication sistemi donanımsal ve mantıksal hatalara karşı nasıl korunuyor?
  4. Dosya sistemi parçalanması (fragmentation) için ne tür bir önlem alınıyor?
  5. Donanımsal ve yazılımsal çözümler aynı özellikleri sunuyor mu?
  6. Sanal sunucu ortamları için çözümler var mıdır?
  7. De-duplication işlemi sırasında encryption ve compression yapılabiliyor mu?
  8. De-duplication ortamı uzak birimleri replikasyonu mümkün müdür?
  9. Lisanslanma nasıl yapılmaktadır?
  10. De-duplicate edilmiş data tape e çıkartılabiliyor mu?
  11. Yedekleme sistemleri ile entagrasyonu var mı?
  12. De-duplication ortamlarında recovery nasıl yapılıyor?
  13. Kullanıcı yetkilendirmeleri ne seviyede nasıl yapılıyor?
  14. De-duplication ortamının limitasyonları nelerdir? (dosya sistemi, dosya adedi v.s.)
  15. Client tarafındaki CPU ve memory kullanımı değeri nedir? (Şifreleme ve sıkıştırma değerleri ayrıca tesbit edilmelidir.)
  16. Raporlama nasıl yapılmaktadır?
  17. İşlemci, bellek, network kullanımı kısıtlaması yapılabiliyor mu?

Emin ÇALIKLI