Supabase Storage की S3 compatibility और Resumable Uploads का आधिकारिक रिलीज़
- Supabase Storage अब S3-compatible storage provider बन गया है। यह सबसे ज़्यादा मांगे गए फीचर्स में से एक था और फिलहाल public alpha version में उपलब्ध है.
- Resumable Uploads भी beta version से निकलकर अब आधिकारिक version में आ गया है.
- Supabase Storage engine पूरी तरह open source है, और file management के लिए 3 interoperable protocols देने वाले गिने-चुने storage solutions में से एक है.
- Standard uploads: शुरू करना आसान
- Resumable uploads: बड़े uploads के लिए resume किए जा सकने वाले uploads
- S3 uploads: अलग-अलग tools के साथ compatibility के लिए
S3 compatibility
- Supabase हमेशा industry standards अपनाने की कोशिश करता है। Standards को support करने से workloads को portable बनाया जा सकता है, और यही इसका एक प्रमुख product principle है.
- S3 API निस्संदेह storage का standard है, और हम इसे अलग-अलग experience level वाले developers के लिए उपयोगी बना रहे हैं.
- S3 protocol दूसरे APIs के साथ backward compatible है। अगर आप पहले से REST या TUS API के जरिए Storage का उपयोग कर रहे हैं, तो आज से S3 client का इस्तेमाल करके buckets और files के साथ interact कर सकते हैं: TUS से upload करें, REST से serve करें, और S3 protocol से manage करें.
- यह protocol cloud, local development और self-hosting में काम करता है। API compatibility के लिए documentation देखें.
Supabase S3 authentication
- Supabase S3 में authenticate करने के 2 विकल्प हैं:
- सामान्य
access_key और secret_key credentials। इन्हें storage settings page में generate किया जा सकता है। यह authentication method S3 protocol को support करने वाले tools के साथ व्यापक रूप से compatible है। यह Storage resources पर पूरा access देता है, इसलिए इसे केवल server side उपयोग के लिए डिज़ाइन किया गया है.
- आगे चलकर scoped access key credentials जोड़े जाएंगे, जिन्हें खास buckets तक access दिया जा सकेगा.
- RLS के साथ user-scoped credentials। यह Row Level Security की उस अवधारणा का उपयोग करता है जिसे सभी Supabase services में अच्छी तरह अपनाया गया है। आप मौजूदा RLS policies का सम्मान करते हुए, किसी खास authenticated user या role तक storage operations को scope करके S3 protocol के साथ interact कर सकते हैं। यह तरीका S3 protocol द्वारा supported Session token header के जरिए संभव है। Session token mechanism का उपयोग कैसे करें, इसकी अधिक जानकारी documentation में मिल सकती है.
S3-compatible integrations
- S3 protocol support होने के कारण अब Supabase Storage को कई third-party tools और services से जोड़ा जा सकता है। इसके लिए बस credentials की एक pair देनी होती है जिसे कभी भी revoke किया जा सकता है.
- अब आप backups और migrations के लिए AWS CLI, rclone, Cyberduck जैसे लोकप्रिय tools का उपयोग कर सकते हैं.
- Cyberduck guide देखें.
डेटा इंजीनियरों के लिए S3
- S3 compatibility डेटा इंजीनियरों के लिए एक अच्छा बुनियादी आधार देती है। इसे ClickHouse जैसे data warehouse, DuckDB, Spark, Trino, Snowflake External Table जैसे query engines, और Fivetran व Airbyte जैसे data loaders सहित कई लोकप्रिय tools के साथ उपयोग किया जा सकता है.
- उदाहरण में हमारे शानदार data analyst Tyler दिखाते हैं कि Supabase Storage में Parquet files को store करके DuckDB से सीधे query कैसे की जा सकती है.
S3 में multipart uploads
- Standard uploads और resumable uploads के अलावा अब S3 protocol के जरिए multipart uploads भी supported हैं। इससे chunks को parallel upload करके upload throughput को अधिकतम किया जा सकता है, और अंत में उन्हें जोड़ दिया जाता है.
Resumable Uploads का आधिकारिक रिलीज़
- Platform GA announcement के साथ यह बताते हुए खुशी हो रही है कि Resumable Uploads भी आधिकारिक रूप से रिलीज़ हो गया है.
- Resumable Uploads, TUS protocol द्वारा powered है। यह प्रक्रिया TUS team के साथ करीबी सहयोग में बहुत सार्थक रही। TUS protocol maintainers @murderlon और @acconut को open source के प्रति उनके सहयोगी दृष्टिकोण के लिए बहुत धन्यवाद.
Supabase के योगदान
- Supabase ने TUS specification के Node implementation में कुछ advanced features का योगदान दिया है, जिनमें distributed locking, maximum file size, expiration extension, और कई bug fixes शामिल हैं.
- ये features Supabase के लिए आवश्यक थे, और TUS Node server open source होने के कारण इन्हें इस्तेमाल किया जा सका। यह एक और मुख्य principle है: जहां संभव हो, शुरुआत से खुद बनाने के बजाय मौजूदा tools का उपयोग और समर्थन करना.
अन्य सुधार
- Buckets के बीच transfer: पहले जो काम सिर्फ एक ही Supabase bucket के भीतर किए जा सकते थे, अब objects को buckets के बीच copy और move किया जा सकता है.
- Standardized error codes: Storage server में error codes को standardize किया गया है, जिससे अब खास errors के लिए branching logic का उपयोग करना कहीं अधिक आसान हो गया है.
- Multi-tenant migrations: सभी tenants पर चलने वाली migrations में बड़ा सुधार किया गया है। इससे पूरे fleet में migration errors कम हुए हैं, और long-running migrations को asynchronous तरीके से चलाया जा सकता है.
- Dependency separation: Storage को दूसरे Supabase products से पूरी तरह अलग कर दिया गया है, जिससे Storage को standalone service के रूप में चलाया जा सकता है। docker-compose file से शुरुआत करें.
शुरू करें
- Documentation में S3 API compatibility जांचें
- S3 authentication के बारे में जानें
- Cyberduck के साथ S3 आज़माएँ: integration guide का पालन करें
- DuckDB के साथ S3 आज़माएँ: YouTube guide का पालन करें
GN⁺ की राय
- S3 compatibility, Supabase Storage को cloud storage standard के और करीब ले जाती है। कई कंपनियां पहले से S3 का उपयोग करती हैं, इसलिए Supabase पर switch करना बहुत आसान हो जाता है.
- लेकिन S3 मूल रूप से AWS की service है, इसलिए लंबी अवधि में Supabase के अपने unique protocol पर भी विचार किया जा सकता है। Amazon पर निर्भर स्थिति से बचना चाहिए.
- Resumable Upload के आधिकारिक रिलीज़ से बड़े files का transfer काफी आसान होने की संभावना है। मौजूदा तरीकों की सीमाओं को पार करके usability बढ़ाने वाली बात खास है.
- S3 का उपयोग करके data engineering pipeline बनाना एक आकर्षक use case है। अगर इसका सही उपयोग किया जाए, तो यह enterprise data infrastructure के modernization में मदद कर सकता है.
- Supabase द्वारा TUS protocol improvements में सीधे योगदान देना, और उसका फिर open source ecosystem में वापस लौटना, एक प्रभावशाली virtuous cycle दिखाता है। यह सिर्फ open source user नहीं, बल्कि contributor के रूप में उसकी भूमिका को भी मजबूत करता है.
1 टिप्पणियां
Hacker News राय
Supabase के CEO ने नए Storage product update का परिचय दिया। यह product बड़े आकार की files को store करता है और S3 compatibility जोड़ता है, जिससे इसे हज़ारों मौजूदा tools के साथ इस्तेमाल किया जा सकता है। खास तौर पर data scientists/engineers के लिए इसकी संभावनाओं पर ध्यान दिया गया।
एक user ने S3 को support करने वाले CDN provider का उपयोग कर पाने का स्वागत किया, लेकिन यह भी कहा कि Supabase में अभी सुधार की गुंजाइश है। कुल मिलाकर, उसने Supabase की प्रगति की दिशा को सकारात्मक माना।
एक example साझा किया गया जिसमें DuckDB अब S3 protocol को support करने वाले Supabase Storage से सीधे parquet files query कर सकता है।
PostgreSQL के Large Object storage तरीके को पसंद करने वाले user की राय भी है।
Supabase की self-hosting की आसानी को लेकर सवाल उठाया गया। लागत के कारण self-hosting में switch करना कितना आसान है, यह पूछा गया।
Supabase द्वारा Oriole team को onboard करने की खबर के साथ, Cloudflare R2 के साथ integration पर विचार कर रहे एक user की राय भी सामने आई।
Supabase Storage के implementation तरीके पर, खासकर क्या data वास्तव में PostgreSQL में store होता है और क्या यह transactional updates को support करता है, ऐसे सवाल पूछे गए।
Supabase के प्रति भरोसा और लगाव जताते हुए, एक user ने इच्छा व्यक्त की कि इसका acquisition होकर यह खराब न हो जाए।
AWS S3 के proprietary API के de facto industry standard बन जाने पर हैरानी जताने वाली राय भी थी।
pre-signed URL support है या नहीं, इस पर भी सवाल उठाया गया।