1 Pertanyaan: Kerangka deduplikasi data?

pertanyaan dibuat di Mon, Oct 22, 2012 12:00 AM

Saya ingin mengintegrasikan deduplikasi data ke dalam perangkat lunak yang saya tulis untuk mencadangkan gambar vmware. Saya belum dapat menemukan sesuatu yang cocok untuk apa yang saya pikir saya butuhkan. Tampaknya ada BANYAK solusi lengkap yang mencakup satu bentuk deduplikasi atau lainnya. Ini termasuk solusi penyimpanan atau cadangan yang menggunakan cloud publik atau pribadi, sistem file khusus, jaringan atau perangkat penyimpanan, dll. Namun, saya perlu mengembangkan solusi saya sendiri dan mengintegrasikan dedupe ke dalamnya. Perangkat lunak saya akan ditulis dalam C # dan saya ingin dapat memanggil API untuk mengatakan apa yang harus dideduksi.

Jenis deduplikasi yang saya bicarakan tidak mengurangi satu gambar dengan gambar lain - biasanya pendekatan untuk menghasilkan cadangan inkremental atau diferensial dari dua "versi" sesuatu - atau apa yang disebut "deduplikasi cadangan klien" di Entri Wikipedia di deduplikasi data , karena saya sudah punya solusi untuk melakukan itu, dan ingin mengambil sesuatu selangkah lebih maju.

Saya membayangkan pendekatan yang akan memungkinkan saya untuk mengurangi beberapa bagian data entah bagaimana di tingkat global (yaitu beberapa bentuk deduplikasi global ). Untuk menjadi global, saya membayangkan akan ada semacam tabel pencarian pusat (mis. Indeks hash) yang akan memberi tahu deduper bahwa salinan data yang sedang diperiksa sudah disimpan dan tidak perlu disimpan lagi. Potongan dapat berupa file-level (Penyimpanan Instance Tunggal atau SIS) atau deduplikasi tingkat-sub-file /blok. Yang terakhir harus lebih efisien (yang lebih penting untuk tujuan kita daripada, katakanlah, memproses overhead) dan akan menjadi pilihan pilihan saya, tetapi saya bisa membuat SIS bekerja juga, jika saya harus.

Saya sekarang telah banyak membaca tentang perangkat lunak orang lain yang melakukan deduping, seperti yang saya sebutkan di atas. Saya tidak akan mengutip contoh di sini karena saya tidak mencoba meniru pendekatan orang lain secara khusus. Sebaliknya, saya belum dapat menemukan solusi programmer dan ingin tahu apakah ada yang seperti itu tersedia. Alternatifnya adalah menggulung solusi saya sendiri tetapi itu akan menjadi tugas yang cukup besar, untuk membuatnya lebih ringan.

Terima kasih.

    
5
  1. Lihat bagaimana rsync melakukan sesuatu. Mungkin memberi Anda beberapa pemikiran yang menginspirasi. Atau mungkin Anda sudah melakukan itu ...
    2011-11-16 15: 30: 07Z
  2. terima kasih, pendekatan rsync untuk menggunakan jendela geser checksum untuk menentukan apakah ada kecocokan dengan file yang disinkronkan (seperti yang saya pahami bekerja dari membaca rsync saat saya membaca ) sesuai dengan bagian yang saya sebutkan tentang blok-level dedupe. Namun, dalam gambar vmware khas server, biasanya ada beberapa item data standar (mis. OS dan file program) yang dapat dikurangkan. Kecuali jika saya mencoba menyinkronkan /membandingkan dengan perpustakaan pusat besar file-file ini, saya tidak dapat menyimpulkannya dengan cara yang praktis.
    2011-11-16 17: 05: 54Z
  3. Anda dapat memiliki hash dari setiap file dan menyimpannya bersama dengan file. Namun, maka Anda akan memiliki teka-teki 'file' vs 'gambar'. Bagaimanapun, Anda harus lebih konkret dengan pertanyaan Anda di sini ...
    2011-11-16 21: 36: 32Z
  4. Saya sudah sespesifik mungkin ketika mencoba untuk tidak membatasi opsi untuk apa yang mungkin ada di luar sana: Saya membutuhkan API yang mendukung pemotongan global. Menggunakan rsync tampaknya berarti menggulirkan solusi saya sendiri - dan sebenarnya seperti yang saya katakan di pertanyaan awal saya, saya sudah memiliki alat yang dapat memisahkan satu file dengan yang lain. "Rolling my own" berarti membangun indeks hash saya sendiri untuk semua file windows, sql, exchange, iis, dll dan menjadikannya global. Saya menemukan jika saya menggambarkan skenario, bukan hanya apa yang saya pikir saya butuhkan, orang-orang dengan pengalaman di daerah sering mengarahkan saya ke arah yang lebih baik ketika mereka melihat konteksnya.
    2011-11-17 11: 07: 24Z
  5. @ Leaurus. Terima kasih atas upaya Anda dalam meningkatkan /mengedit pertanyaan. Meskipun pengeditan Anda mungkin valid, harap jangan melakukan pengeditan kecil.
    2012-10-22 14: 06: 49Z
1 Jawaban                              1                         

Deduplikasi global seperti yang telah Anda jelaskan biasanya ditangani di luar program cadangan mesin virtual paling umum karena CBT sudah memberi tahu Anda apa yang diubah blok dalam VM sehingga Anda tidak perlu mengambil cadangan penuh setiap waktu. Global dedupe cenderung menjadi sumber daya yang intensif juga, sehingga kebanyakan orang hanya akan mendapatkan Sebaliknya, Data Domain dan manfaatkan perangkat keras (SSD) dan perangkat lunak (sistem file khusus, dedupe panjang variabel) yang didedikasikan, dikonfigurasikan, dan dioptimalkan untuk deduping. Dapat dibayangkan bahwa program cadangan yang Anda buat dapat memanfaatkan CBT bersama dengan penawaran Data Domain dengan cara yang sudah dapat dilakukan oleh beberapa perangkat lunak cadangan yang tersedia secara komersial, seperti [Veeam] [3]. Info lebih lanjut tentang strategi dedupe Data Domain ([segmen panjang variabel] [4]).

well, saya harus menghapus dua url saya untuk mengirim jawaban ini karena tampaknya saya tidak punya cukup rep ... w /e

    
2
2013-10-31 09: 35: 58Z
sumber ditempatkan sini