5 पॉइंट द्वारा GN⁺ 2024-11-19 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Regatta Storage एक ऐसी सेवा है जो S3-compatible storage को अपने-आप sync होने वाले cloud file system की तरह इस्तेमाल करने देती है, ताकि बड़े पैमाने के data को local disk बढ़ाए बिना संभाला जा सके
  • Spark, PyTorch, pandas workloads में S3 के datasets को सीधे access करने देती है, ताकि download wait और बड़े local disk तैयार करने का बोझ कम हो
  • इसकी शुरुआत Amazon EFS और Netflix में storage operations के अनुभव से हुई; EFS की simplicity और scalability के बावजूद local disk से NFS पर जाने पर performance issues बचे रहे
  • ग्राहक Regatta file system को NFSv3 के रूप में mount करते हैं, और Regatta caching instances ग्राहक के S3 bucket से जुड़कर cached reads/writes में sub-millisecond performance देते हैं
  • इसका इस्तेमाल serverless Jupyter notebooks, S3 के ऊपर distributed caching layer, और thin-provisioned Ceph boot volumes के replacement के लिए हो रहा है; आगे custom file protocol भी development में है

S3 के ऊपर local जैसा file system experience देना

  • Regatta Storage usage-based billing वाला cloud file system है, जो S3-compatible storage के साथ अपने-आप sync होता है
  • लक्ष्य है कि Spark, PyTorch, pandas में बड़े datasets को local disk पर download किए बिना सीधे access करने की workflow मिले
  • service overview video YouTube पर देखा जा सकता है, और account sign up करने के बाद इसे मुफ्त में try किया जा सकता है
  • बिना account वाला trial न देने की वजह यह है कि Hacker News users द्वारा एक ही file system और S3 bucket share करना उन्हें उचित तरीका नहीं लगा

EFS अनुभव से निकली design background

  • founder ने Amazon Elastic File System (EFS) में 8 साल और Netflix आदि में large-scale cloud storage बनाने व operate करने के अनुभव के आधार पर Regatta बनाया
  • EFS की खासियत S3 की तरह पहले से required capacity का अनुमान लगाए बिना मिलने वाली simplicity और scalability थी, लेकिन Netflix में इसका उपयोग उम्मीद जितना ज्यादा नहीं हुआ
    • कई applications को POSIX file system की जरूरत थी, और storage demand अस्पष्ट या अचानक बहुत बढ़ सकती थी
    • कई मामलों में instances या containers की lifetime से ज्यादा टिकने वाले storage की जरूरत भी थी
    • local drives को potential usage के हिसाब से over-provision किया जाता था, जिससे empty storage space पर भी cost लगती थी
  • EFS हर workload के लिए सही नहीं था
    • local disk से NFS पर जाने पर कुछ मामलों में performance issues आते थे
    • local disk को temporary storage की तरह इस्तेमाल करने वाली applications को persistent storage में बचे data को manually साफ करना पड़ता था

Regatta कैसे काम करता है और cache model

  • Regatta को applications के साथ auto-scale होने वाले usage-based billing file system के रूप में design किया गया है
    • यह native file formats में S3 के साथ अपने-आप sync होकर existing datasets से जुड़ सकता है
    • हाल ही में लिखे गए file data को भी S3 से सीधे इस्तेमाल किया जा सकता है
    • जो data actively use नहीं हो रहा, वह Regatta cache से हट जाता है और केवल backend S3 storage cost रह जाती है
  • मौजूदा ग्राहक Regatta file system को Regatta की caching instance fleet से NFSv3 के रूप में connect करके mount करते हैं
    • Regatta instances backend में ग्राहक के S3 bucket से जुड़ते हैं
    • cached reads और writes के लिए sub-millisecond performance देते हैं
    • durable cache के जरिए सभी connected file clients को strongly consistent file system view देते हैं
    • directory rename जैसे कठिन operations को तेज और durable तरीके से handle करने के बाद S3 bucket में asynchronously propagate करते हैं

शुरुआती use cases और next steps

  • शुरुआती users Regatta को AI researchers के लिए serverless Jupyter notebook server, S3 के ऊपर low-latency distributed caching layer, और thin-provisioned Ceph boot volumes के replacement के रूप में इस्तेमाल कर रहे हैं
  • development में मौजूद custom file protocol का लक्ष्य small-file workloads में near-local performance और distributed data jobs में Lustre जैसी scale-out performance देना है

1 टिप्पणियां

 
GN⁺ 2024-11-19
Hacker News टिप्पणियाँ
  • Rclone और Regatta Storage के बीच फर्क यह है कि filesystem mutation operations के समय Regatta high-speed caching layer का उपयोग करके strong consistency देता है। Rclone में parallel clients के बीच consistency सुनिश्चित करने वाली कोई layer नहीं है

    • Regatta Storage filesystem mutation operations के समय high-speed caching layer का उपयोग करके strong consistency देता है
    • Rclone में parallel clients के बीच consistency सुनिश्चित करने वाली कोई layer नहीं है
  • यह YC से निकले सबसे शानदार products में से एक है, और यह कैसे काम करता है इस पर कई सवाल हैं

    • यह जानना है कि 10GB local disk पर 50GB range के data को संभालते समय performance degradation होता है या नहीं
    • यह जानना है कि AWS के अलावा दूसरे cloud में भी fast speed मिल सकती है या नहीं
    • FUSE और NFS mounts के उपयोग के तरीके को लेकर जिज्ञासा है
    • यह जानना है कि क्या Clickhouse या Postgres को Regatta volume पर चलाया जा सकता है
    • open source को लेकर उनकी सोच क्या है, यह जानना है
    • क्या इसे कई servers पर mount किया जा सकता है, और उसकी limitations क्या हैं, यह जानना है
  • GCP Filestore का उपयोग करके DuckDB host किया जा रहा है, और Regatta की pricing तथा performance के बारे में जानकारी मांगी गई है

    • 10 TiB instance की pricing और performance की जानकारी मांगी गई है
  • SQLite/DuckDB/parquet के backup disk के रूप में इसमें रुचि है, और instance-local NVMe storage पर cached reads चाहिए

    • NFS से नहीं मिलने वाली locking और shared memory functionality की जरूरत है
    • इसे सीधे user space में implement किया जा सकता है, लेकिन तब S3 का ही उपयोग किया जाएगा
  • NFS को protocol के रूप में उपयोग करना अच्छा विचार माना गया है

    • IBM में इसी तरह के concept वाला encrypted filesystem लिखने का अनुभव रहा है
    • filesystem mount करते समय यह महसूस होना कि सारा data "बस मौजूद है", जादुई लगता है
  • इस बात की चिंता है कि AWS इस product की नकल करके इसे और कम कीमत पर दे सकता है

  • 2008 में Adobe के CEO के सामने iPhone से ली गई photo के Mac पर अपने-आप file के रूप में दिखाई देने वाला demo सफलतापूर्वक दिखाने का अनुभव साझा किया गया है

    • FUSE का उपयोग करके Adobe के distributed object storage से बात करने वाला local FUSE implement किया गया था
    • Dropbox के लॉन्च के साथ distributed systems research and development शुरू किया गया था
  • यह जानना है कि क्या Lambda + SQLite + Regatta का उपयोग करके real-time ACID SQL storage बनाया जा सकता है

  • यह स्पष्ट नहीं है कि file update conflicts को कैसे handle किया जाता है

    • उदाहरण के लिए, अगर दो users अलग-अलग computers से एक ही file को update करें, तो final file कैसी होगी, यह जानना है
  • s3fs, rclone, goofys आदि जैसे उल्लेखनीय alternatives मौजूद हैं