ZFS ve Veri Tekilleştirme FLAC Verileri


1

FLAC dosyalarının büyük bir kütüphanesini tekilleştirmek için ZFS kullanmaya çalışıyorum. Bunun amacı iki yönlüdür:

  1. Depolama kullanımını azaltın
  2. Kütüphaneyi bulut depolama alanıyla senkronize etmek için gereken bant genişliğini azaltın

Bu dosyaların çoğu aynı müzik parçasına ama farklı fiziksel medyaya ait. Bu, çoğunlukla aynı oldukları ve genellikle aynı boyuta yakın oldukları anlamına gelir, bu da blok düzeyinde veri tekilleştirme işleminden yararlanmaları gerektiğini düşünmemi sağlar.

Ancak testlerimde iyi sonuçlar göremiyorum. Bir havuz oluşturup bu parçalardan üçünü eklediğimde (farklı kaynak ortamlardan aynı şarkılar) zpool listesi 1.00 tekil rapor veriyor. Tüm dosyaları kopyalarsam (üçünün tam kopyalarını yaparsanız) veri tekilleştirici tırmanıyor, bu yüzden etkin olduğunu ve çalıştığını biliyorum, ancak orijinal dosya koleksiyonunda herhangi bir çoğaltma bulamadım.

İlk düşüncem, belki değişken başlık verilerinin bazılarının (meta veri etiketleri vb.) Bu dosyalardaki (ses kareleri) veri yığınını yanlış hizaya getirdiği, ancak başlık verilerini üç dosya arasında tutarlı hale getirdiği olabilir. tekilleştirme üzerinde herhangi bir etkisi olduğu görünmüyor.

Alternatif yollar almayı düşünüyorum (diğer veri teçhizatı dosya sistemlerini ve bazı özel kodları test ediyorum) ancak ZFS kullandığımızdan ve ZFS çoğaltma seçeneklerini sevdiğimden, bu proje için ZFS veri teçhizatını kullanmayı tercih ediyorum; ama belki de bu tür verilerle iyi çalışabilecek durumda değil.

Bu tür bir veri kümesi için veri tekilleştirme performansını artırabilecek herhangi bir geri bildirim veya ZFS veri tekilleştirme işleminin bu iş için doğru araç olmadığını teyit edin.

Yanıtlar:


4

ZFS'yi bilmiyorum, ancak FLAC codec'in birçok farklı parametresi var ve FLAC dosyasının içindeki yapı genel olarak bayt hizalı değil. Bu nedenle, ayarlardaki herhangi bir küçük değişiklik çok farklı bir bytestream verecektir. "Aynı" dosyaların aynı mimaride aynı yazılım, aynı yazılım sürümü ve aynı ayarlarla değiştirilip değiştirilmediğini biliyor musunuz?

Bytestream'de (1.0 sonucunuzu açıklayacak olan) bazı farklılıklar olduğunu varsayarsak, bunu test etmenin bir yolu, aynı makinedeki tüm FLAC dosyalarını açmak ve yeniden sıkıştırmak olacaktır. (Elbette bu işlem, meta veriler tutulduğu sürece herhangi bir veriyi düşürmez.)


+1: Bu hemen hemen öyle. Sırf 2 farklı albümde "aynı şarkı" olması, aynı kodun, örneklerin sayısının, genliğin, hizalamanın veya 2 kodun tamamen aynı olmasını sağlayacak başka bir şey olduğu anlamına gelmez. Genelde, sıkıştırılmış dosyalar kütüphanesinden kayda değer düzeyde bir kesinti elde edemezsiniz.
afrazier

Gideceğim yer burasıydı ama etkisi olabilecek bir şeye (rekor gibi, vb.) Bakmadığımdan emin olmak istedim.
Kaymak

Dosyalar kesinlikle aynı değil (tasarıma göre), aynı albümlerden aynı şarkılar. Belki de dosyalar arasındaki benzerliklerin bir miktar veri tekilleştirmesine yol açabileceği konusunda yeterince büyük bir kayıt boyutu olduğunu düşündüm, ama belki de durum böyle değil.
jasongullickson

1
+1: Dan haklı. FLAC dosyalarının niteliği, kodlama parametreleri ve meta verileri ile sayısız olduğu göz önüne alındığında, farklı dosyalar arasında (aynı şarkıda bile) yinelenen veri blokları olma olasılığı çok düşüktür. Ayrıca, birçok kullanıcı umdukları gümüş mermi olmadığını tespit ettiği için ZFS tekilleştirmesini okumak isteyebilirsiniz .
Mike Fitzpatrick

Kabul, jasongullickson ihtiyacı olan Linux için Ses Dedupe ( mindgems.com/products/Duplicate-MP3-Finder/… ) gibi bir şey .
Scott McClenning
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.