9 puan yazan GN⁺ 2024-02-03 | 1 yorum | WhatsApp'ta paylaş
  • Basit ve yüksek ölçeklenebilirliğe sahip dağıtık dosya sistemi
  • Hedefi milyarlarca dosyayı depolamak ve bunları hızlı şekilde sunmak
  • Facebook’un Haystack tasarımından ve f4: Facebook’un Warm BLOB depolama sisteminden alınan fikirlerle hayata geçirilmiştir
  • Blob deposu O(1) disk erişimi ve bulut katmanlama özellikleri sunar
  • Filer; dizinleri ve POSIX özniteliklerini destekler ve bulut sürücüsü, veri merkezleri arasında aktif-aktif replikasyon, Kubernetes, POSIX FUSE mount, S3 API, S3 gateway, Hadoop, WebDAV, şifreleme ve erasure coding gibi özellikleri içerir

Özellikler

  • Replikasyon seviyesi, rack ve veri merkezi farkındalığı gibi çeşitli replikasyon seçenekleri sunar.
  • Master sunucuda otomatik failover ile tek hata noktası yoktur.
  • Dosya MIME türüne göre otomatik Gzip sıkıştırmasını destekler.
  • Veri silme veya güncelleme sonrasında disk alanını geri kazanmak için otomatik sıkıştırma sağlar.
  • Sunucu ekleyerek toplam depolama kapasitesi artırılabilir.
  • Sunucu ekleme/çıkarma sırasında veri yeniden dengelemesi yapılmaz; yalnızca yönetici komutuyla tetiklenir.
  • Görsel yeniden boyutlandırma, ETag, Accept-Range, Last-Modified ve daha fazlasını destekler.
  • Bellek/performans dengesini sağlamak için in-memory/leveldb/readonly mod ayarı desteklenir.
  • Özelleştirilebilir çoklu depolama katmanları ve şeffaf bulut entegrasyonu sunar.
  • Sıcak depolama için rack farkındalıklı 10.4 erasure coding ile depolama maliyetini düşürür ve erişilebilirliği artırır.

Filer özellikleri

  • Filer sunucusu HTTP üzerinden "normal" dizin ve dosyaları sunar.
  • Dosya TTL ile dosya meta verileri ve gerçek dosya verileri otomatik olarak süresi dolunca kaldırılır.
  • FUSE üzerinden mount edilen filer ile dosyalar doğrudan okunup yazılabilir.
  • Filer deposu replikasyonu ile meta veri deposunda HA sağlanabilir.
  • Amazon S3 uyumlu API sayesinde S3 araçlarıyla dosyalara erişilebilir.
  • Hadoop uyumlu dosya sistemi olarak Hadoop/Spark/Flink vb. üzerinden dosya erişimi sağlar.
  • AES256-GCM şifreli depolama ile veriler güvenli şekilde saklanır.
  • Onlarca TB büyüklüğünde çok büyük dosyaların depolanmasını destekler.
  • Bulut sürücüsü ile bulut depolamayı yerel kümeye mount ederek hızlı okuma ve yazma sağlar.

Kubernetes

  • Kubernetes CSI sürücüsü ve SeaweedFS operatörünü destekler.

Seaweed nesne deposu kullanım örneği

  • Master düğüm ve volume düğüm için varsayılan portlar ile çalıştırma yöntemleri açıklanır.
  • Dosya yazma, okuma ve silme yöntemlerine dair örnekler sunulur.
  • Rack farkındalıklı ve veri merkezi farkındalıklı replikasyon ile belirli veri merkezine dosya anahtarı atama yöntemleri anlatılır.

Mimari

  • SeaweedFS dosyaları parçalara ayırmak yerine veri volume’lerini yönetir.
  • Master sunucu yalnızca volume’lere ilişkin meta verileri yönetir; gerçek dosya meta verileri ise volume sunucularında tutulur.
  • Dosya yazma ve okuma süreçlerine dair ayrıntılı açıklamalar sunulur.

Diğer dosya sistemleriyle karşılaştırma

  • HDFS, GlusterFS, Ceph, MooseFS, MinIO vb. ile karşılaştırılarak SeaweedFS’nin avantajları açıklanır.
  • SeaweedFS küçük dosyalar için optimize edilmiştir ve O(1) disk okuma işlemleriyle hızlı dosya erişimi sağlar.

Geliştirme planı

  • Sistem yönetimi ve ölçeklendirme için daha fazla araç ve dokümantasyon sunulması planlanıyor.
  • Akış verisinin okunması ve yazılması için destek.
  • Yapılandırılmış veri desteği.

Kurulum kılavuzu

  • Golang’a aşina olmayan kullanıcılar için kurulum kılavuzu sunulur.

Disk ile ilgili konular

  • Sabit diskler ve SSD’lerin performansına dair açıklamalar içerir.
  • SeaweedFS, SSD dostu bir yapıya sahiptir.

Benchmark

  • Kişisel ve bilimsel olmayan tek makine benchmark sonuçları sunulur.
  • WARP kullanarak karma benchmark çalıştırma yöntemi açıklanır.

Lisans

  • Apache License, Version 2.0 kapsamında lisanslanmıştır.

GN⁺ görüşü:

  • SeaweedFS, küçük dosyaları verimli şekilde yönetmeyi ve dosyaları hızlı sunmayı hedefleyen bir dağıtık dosya sistemidir. Bu da onu büyük hacimli verilerle çalışan modern web servisleri için çok uygun hale getirir.
  • Çeşitli depolama sistemleri ve veritabanlarıyla uyumluluğu sayesinde esneklik sunar; bulut entegrasyonu özellikleriyle maliyet açısından verimli veri yönetimi sağlar.
  • Açık kaynak bir proje olarak topluluk desteğiyle sürekli geliştiği için teknik açıdan da ilgi çekici bir projedir.

1 yorum

 
GN⁺ 2024-02-03
Hacker News yorumları
  • JuiceFS'ten bahsedilmesi

    • Yorumlarda Minio, Ceph, GarageFS gibi çeşitli alternatiflerden söz ediliyor.
    • Henüz anılmamış bir diğer alternatif ise JuiceFS.
    • JuiceFS ile SeaweedFS'yi karşılaştıran bir kaynak bulunuyor.
  • SeaweedFS kullanım deneyimi

    • SeaweedFS, milyarlarca orta boyutlu XML belgesi, görsel küçük resmi, PDF dosyası vb. depolamak için kullanılmış.
    • Veritabanı ile dosya sistemi arasındaki boşluğu dolduruyor.
    • Dokümantasyon ve operasyon araçları başlangıçta biraz garip gelse de özellik açısından zengin ve iyi çalışıyor.
    • Elektrik kesintisi, donanım arızası gibi durumlardan sonra veri kurtarmak mümkün olmuş.
    • Açık kaynaklı S3 API blob deposu alanındaki boşluk şaşırtıcı bulunuyor.
  • SeaweedFS ile ilgili olumsuz deneyim

    • SeaweedFS'nin CSI sürücüsü üzerinden mount edilen POSIX FS volume üzerinde Postgres başlatılamadığı için SeaweedFS kullanmamaya karar verilmiş.
    • Tam POSIX FS ve S3 volume sağlayan, FOSS olan ve yönetim, izleme, felaket kurtarma gibi işleri etkili biçimde yapabilen bir SDS sistemine ihtiyaç duyuluyor.
    • Ceph gibi sistemler elenmiş. GarageFS ise yalnızca S3 destekliyor.
  • SeaweedFS geliştiricisinin görüşü

    • SeaweedFS, Facebook'un Haystack makalesine dayanan blob depolamanın üzerine inşa edilmiş.
    • Henüz tüm özellikler tamamen geliştirilmiş değil, ancak bulut çağrısına uygun yeni bir programlama yaklaşımı sunuyor.
    • Depolama alanına ihtiyaç olduğunda alan ayrılıyor ve bir dosya kimliği alınıyor; bu da bir bellek bloğunu işaret eden pointer gibi kullanılıyor.
  • SeaweedFS kullanım örnekleri

    • 50 TB'tan fazla çok oyunculu maç kaydı (replay) depolamak için SeaweedFS kullanılmış.
    • Yerleşik süre sonu özelliğinden yararlanılıyor ve kullanımda ya da yeni özellik ekleme ve migrasyonda sorun yaşanmamış.
  • SeaweedFS ve Min.io hakkındaki görüşler

    • S3 benzeri self-hosted çözümlerle ilgili deneyim sorulduğunda, SeaweedFS kullanıcıları Min.io'yu, Min.io kullanıcıları ise SeaweedFS'yi öneriyor.
  • SeaweedFS'nin uzun süreli kullanıcısı

    • Yaklaşık 250 bin nesne SeaweedFS'te depolanıyor ve bunların önemli bir kısmı Cloudflare arkasında cold storage olarak tutuluyor.
    • SeaweedFS, Facebook'un Haystack'inden etkilenilerek uzun süredir kullanılıyor; oldukça kararlı ve verimli olduğu belirtiliyor.
  • Microsoft'un depolama teknolojileri geçmişi

    • Microsoft geçmişte dosyalar ile veritabanları arasındaki boşluğu kapatmak için birden çok kez girişimde bulundu, ancak bunların çoğu başarısız oldu.
    • Bill Gates'in bu tür teknolojilere ilgisinden ve yaşadığı hayal kırıklığından söz ediliyor.
  • Dağıtık depolama seçerken dikkat edilmesi gerekenler

    • Dağıtık depolamaya gerçekten ihtiyaç olup olmadığı ve shard işleminin kendi başına yapılıp yapılamayacağı değerlendirilmeli.
    • Blob'ların değiştirilmesinin gerekip gerekmediği, yoksa oku/değiştir/değiştirerek-yenile modelinin yeterli olup olmadığı kontrol edilmeli.
    • Okuma ve yazma oranı dikkate alınmalı.
    • Metadata değişikliklerinin sıklığı göz önünde bulundurulmalı.
    • Aynı nesneye eşzamanlı yazmaların nasıl yönetileceği düşünülmeli.
    • Erişilebilirlik, tutarlılık ve hız arasında hangisinin öncelikli olduğu seçilmeli.
    • Dağıtık depolamada eşzamanlı arızalardan nasıl kurtulunacağı değerlendirilmeli.
    • Erişim kontrolünün nasıl yapılacağı düşünülmeli.
  • SeaweedFS ile Min.io performans karşılaştırması

    • 100 TB'tan fazla ses verisini HDD üzerinde düşük maliyetle depolamak için SeaweedFS ve Min.io test edilmiş.
    • SeaweedFS'nin bu kullanım senaryosunda daha iyi performans gösterdiği görülmüş.