9 पॉइंट द्वारा GN⁺ 2024-02-03 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सरल और बेहद scalable distributed file system
  • इसका लक्ष्य अरबों फाइलों को स्टोर करना और उन्हें तेज़ी से serve करना है
  • Facebook के Haystack डिज़ाइन और f4: Facebook के Warm BLOB storage system से प्रेरित होकर बनाया गया
  • Blob storage में O(1) disk seek और cloud tiering capabilities हैं
  • Filer directory और POSIX attributes को सपोर्ट करता है, और इसमें cloud drive, DC के बीच active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 gateway, Hadoop, WebDAV, encryption, erasure coding जैसी सुविधाएँ शामिल हैं

फीचर्स

  • replication level, rack और data center awareness सहित कई replication options उपलब्ध।
  • master server automatic failover के साथ, single point of failure नहीं।
  • file MIME type के आधार पर automatic Gzip compression का समर्थन।
  • data delete या update के बाद disk space reclaim करने के लिए automatic compaction।
  • server जोड़कर कुल storage capacity बढ़ाई जा सकती है।
  • server जोड़ने/हटाने पर data rebalancing नहीं होती, यह केवल admin command से trigger होती है।
  • image resizing, ETag, Accept-Range, Last-Modified आदि का समर्थन।
  • memory/performance balance के लिए in-memory/leveldb/readonly mode tuning का समर्थन।
  • customizable multi-storage tiering और transparent cloud integration उपलब्ध।
  • warm storage के लिए rack-aware 10.4 erasure coding के साथ storage cost कम होती है और availability बेहतर होती है।

Filer फीचर्स

  • Filer server HTTP के माध्यम से "सामान्य" directories और files serve करता है।
  • file TTL के साथ file metadata और actual file data की automatic expiry।
  • FUSE के जरिए mounted filer से files को सीधे पढ़ा और लिखा जा सकता है।
  • Filer store replication के जरिए metadata store के लिए HA संभव।
  • Amazon S3 compatible API के जरिए S3 tools का उपयोग कर files access की जा सकती हैं।
  • Hadoop compatible file system के रूप में Hadoop/Spark/Flink आदि से files access की जा सकती हैं।
  • AES256-GCM encrypted storage के जरिए data को सुरक्षित रखा जा सकता है।
  • कई दर्जन TB तक की large files store करने का समर्थन।
  • cloud drive के रूप में cloud storage को local cluster पर mount करके तेज़ read और write का समर्थन।

Kubernetes

  • Kubernetes CSI driver और SeaweedFS operator का समर्थन।

Seaweed object storage उपयोग उदाहरण

  • master node और volume node के default ports और run करने के तरीके का मार्गदर्शन।
  • file write, read और delete करने के उदाहरण।
  • rack-aware और data center-aware replication, तथा किसी specific data center को file key assign करने का तरीका समझाया गया है।

आर्किटेक्चर

  • SeaweedFS files को chunks में बांटे बिना data volumes को manage करता है।
  • master server केवल volumes का metadata manage करता है, जबकि actual file metadata volume server पर manage होता है।
  • file write और read process का विस्तृत विवरण दिया गया है।

अन्य file systems के साथ तुलना

  • HDFS, GlusterFS, Ceph, MooseFS, MinIO आदि के साथ तुलना करके SeaweedFS के फायदे समझाए गए हैं।
  • SeaweedFS small files के लिए optimized है और O(1) disk read operations के साथ तेज़ file access देता है।

development roadmap

  • system management और scaling के लिए अधिक tools और documentation उपलब्ध कराने की योजना।
  • stream data read और write का समर्थन।
  • structured data का समर्थन।

installation guide

  • Golang से परिचित न होने वाले users के लिए installation guide उपलब्ध।

disk से जुड़े विषय

  • hard drive और SSD की performance पर विवरण।
  • SeaweedFS की संरचना SSD-friendly है।

benchmark

  • व्यक्तिगत, non-scientific single-machine benchmark results दिए गए हैं।
  • WARP का उपयोग करके mixed benchmark चलाने का तरीका बताया गया है।

लाइसेंस

  • Apache License, Version 2.0 के तहत licensed।

GN⁺ की राय:

  • SeaweedFS एक distributed file system है जो small files को efficiently manage करने और files को तेज़ी से serve करने के लिए बनाया गया है। यह large-scale data संभालने वाली आधुनिक web services के लिए काफी उपयुक्त है।
  • विभिन्न storage systems और databases के साथ compatibility के कारण यह flexibility देता है, और cloud integration के जरिए cost-effective data management संभव बनाता है।
  • open source project होने के नाते इसे community support मिलता है और यह लगातार विकसित हो रहा है, इसलिए तकनीकी दृष्टि से भी यह एक दिलचस्प project है।

1 टिप्पणियां

 
GN⁺ 2024-02-03
Hacker News राय
  • JuiceFS का उल्लेख

    • टिप्पणियों में Minio, Ceph, GarageFS जैसे कई विकल्पों का उल्लेख किया गया है।
    • एक और विकल्प, जिसका अभी तक उल्लेख नहीं हुआ, JuiceFS है।
    • JuiceFS और SeaweedFS की तुलना करने वाली सामग्री उपलब्ध है।
  • SeaweedFS के उपयोग का अनुभव

    • SeaweedFS का उपयोग करके अरबों मध्यम आकार के XML दस्तावेज़, इमेज थंबनेल, PDF फ़ाइलें आदि संग्रहीत की गईं।
    • यह डेटाबेस और फ़ाइल सिस्टम के बीच की खाई को पाटता है।
    • दस्तावेज़ और ऑपरेशनल टूल शुरुआत में थोड़े अटपटे लगते हैं, लेकिन यह फीचर-समृद्ध है और अच्छी तरह काम करता है।
    • बिजली जाने, हार्डवेयर खराबी आदि से डेटा रिकवर करना संभव रहा।
    • open source S3 API blob store के मामले में मौजूद खाई चौंकाने वाली लगती है।
  • SeaweedFS के बारे में नकारात्मक अनुभव

    • SeaweedFS के CSI driver के जरिए माउंट किए गए POSIX FS volume पर Postgres initialize नहीं हुआ, इसलिए SeaweedFS का उपयोग न करने का फैसला किया गया।
    • एक ऐसे SDS सिस्टम की ज़रूरत है जो पूरा POSIX FS और S3 volume दे, FOSS हो, और management, monitoring, disaster recovery आदि को प्रभावी ढंग से संभाल सके।
    • Ceph जैसे सिस्टम बाहर हैं। GarageFS केवल S3 को support करता है।
  • SeaweedFS डेवलपर की राय

    • SeaweedFS, Facebook के Haystack पेपर पर आधारित blob storage के ऊपर बनाया गया है।
    • अभी इसकी सभी सुविधाएँ पूरी तरह विकसित नहीं हुई हैं, लेकिन यह cloud युग के लिए उपयुक्त प्रोग्रामिंग का एक नया तरीका देता है।
    • जब स्टोरेज स्पेस की ज़रूरत होती है, तो स्पेस allocate किया जाता है और एक file ID मिलती है, जिसे memory block की ओर इशारा करने वाले pointer की तरह इस्तेमाल किया जाता है।
  • SeaweedFS के उपयोग के मामले

    • 50TB से अधिक multiplayer मैच रिकॉर्डिंग्स (replays) को स्टोर करने के लिए SeaweedFS का उपयोग किया गया।
    • built-in expiry feature का उपयोग किया जा रहा है, और उपयोग, नई सुविधाएँ जोड़ने तथा migration में कोई समस्या नहीं आई।
  • SeaweedFS और Min.io पर राय

    • S3 जैसी self-hosted solutions के अनुभव के बारे में पूछने पर, SeaweedFS उपयोगकर्ता Min.io की और Min.io उपयोगकर्ता SeaweedFS की सिफारिश करते हैं।
  • SeaweedFS के लंबे समय के उपयोगकर्ता

    • लगभग 2.5 लाख objects SeaweedFS में स्टोर किए गए हैं, जिनमें से कई Cloudflare के पीछे cold storage में हैं।
    • Facebook के Haystack से प्रभावित होकर SeaweedFS का लंबे समय से उपयोग किया जा रहा है, और यह बहुत स्थिर और कुशल है।
  • Microsoft की स्टोरेज तकनीक का इतिहास

    • Microsoft ने अतीत में कई बार फ़ाइल और डेटाबेस के बीच की खाई पाटने की कोशिश की, लेकिन अधिकांश प्रयास विफल रहे।
    • इन तकनीकों में Bill Gates की रुचि और उनकी निराशा का उल्लेख किया गया है।
  • Distributed storage चुनते समय ध्यान देने योग्य बातें

    • यह विचार करना चाहिए कि distributed storage वास्तव में ज़रूरी है या नहीं, और क्या sharding खुद की जा सकती है।
    • यह देखना चाहिए कि blob को modify करना है या read/modify/replace ही पर्याप्त है।
    • read और write के अनुपात पर विचार करना चाहिए।
    • metadata बदलने की आवृत्ति पर विचार करना चाहिए।
    • एक ही object पर एक साथ होने वाले writes को कैसे manage किया जाएगा, इस पर विचार करना चाहिए।
    • availability, consistency, और speed में से किसे प्राथमिकता देनी है, यह तय करना चाहिए।
    • distributed storage की simultaneous failures से recovery कैसे होगी, इस पर विचार करना चाहिए।
    • access control का तरीका भी सोचना चाहिए।
  • SeaweedFS और Min.io के प्रदर्शन की तुलना

    • 100TB से अधिक audio data को HDD पर सस्ते में स्टोर करने के लिए SeaweedFS और Min.io का परीक्षण किया गया।
    • SeaweedFS ने इस उपयोग के मामले में बेहतर प्रदर्शन दिखाया।