3 poin oleh GN⁺ 2024-04-20 | 1 komentar | Bagikan ke WhatsApp

Kompatibilitas S3 dan peluncuran resmi Resumable Uploads di Supabase Storage

  • Supabase Storage kini menjadi penyedia storage yang kompatibel dengan S3. Ini adalah salah satu fitur yang paling banyak diminta dan saat ini tersedia dalam versi alpha publik.
  • Resumable Uploads juga telah beralih dari versi beta ke versi resmi.
  • Mesin Supabase Storage sepenuhnya open source, dan merupakan salah satu dari sedikit solusi storage yang menyediakan 3 protokol interoperabel untuk pengelolaan file.
    • Standard uploads: mudah untuk memulai
    • Resumable uploads: upload yang dapat dilanjutkan kembali untuk unggahan berukuran besar
    • S3 uploads: untuk kompatibilitas dengan berbagai alat

Kompatibilitas S3

  • Supabase selalu berupaya mengadopsi standar industri. Mendukung standar memungkinkan workload dipindahkan, dan ini menjadi prinsip utama produk.
  • API S3 tanpa diragukan lagi adalah standar storage, dan kami membuatnya dapat digunakan oleh developer dengan berbagai tingkat pengalaman.
  • Protokol S3 kompatibel mundur dengan API lain. Jika Anda sudah menggunakan Storage melalui REST atau TUS API, mulai hari ini Anda dapat menggunakan klien S3 untuk berinteraksi dengan bucket dan file: unggah dengan TUS, sajikan dengan REST, dan kelola dengan protokol S3.
  • Protokol ini berfungsi di cloud, pengembangan lokal, dan self-hosting. Lihat kompatibilitas API di dokumentasi.

Autentikasi Supabase S3

  • Ada 2 opsi untuk melakukan autentikasi ke Supabase S3:
    1. Kredensial standar access_key dan secret_key. Anda dapat membuatnya di halaman pengaturan storage. Metode autentikasi ini kompatibel secara luas dengan alat yang mendukung protokol S3. Karena memberikan semua hak akses ke resource Storage, metode ini dirancang untuk digunakan hanya di sisi server.
      • Ke depannya, akan ditambahkan kredensial access key dengan cakupan tertentu yang dapat memiliki hak akses ke bucket tertentu.
    2. Kredensial dengan cakupan pengguna yang memiliki RLS. Ini memanfaatkan Row Level Security, konsep yang sudah banyak diadopsi di semua layanan Supabase. Anda dapat berinteraksi dengan protokol S3 sambil membatasi operasi storage ke pengguna atau peran terautentikasi tertentu, dengan tetap mematuhi kebijakan RLS yang ada. Metode ini dimungkinkan melalui header session token yang didukung protokol S3. Detail penggunaan mekanisme session token dapat dilihat di dokumentasi.

Integrasi kompatibel S3

  • Dengan dukungan protokol S3, kini Supabase Storage dapat dihubungkan ke banyak alat dan layanan pihak ketiga. Anda hanya perlu memberikan pasangan kredensial yang bisa dicabut kapan saja.
  • Anda dapat menggunakan alat populer untuk backup dan migrasi seperti AWS CLI, rclone, dan Cyberduck.
  • Lihat panduan Cyberduck.

S3 untuk data engineer

  • Kompatibilitas S3 memberikan fondasi yang baik bagi data engineer. Ini dapat digunakan bersama banyak alat populer seperti data warehouse seperti ClickHouse, query engine seperti DuckDB, Spark, Trino, dan Snowflake External Table, serta data loader seperti Fivetran & Airbyte.
  • Dalam contoh, analis data kami yang luar biasa, Tyler, menunjukkan cara menyimpan file Parquet di Supabase Storage dan melakukan query langsung dengan DuckDB.

Multipart uploads di S3

  • Selain standard uploads dan resumable uploads, kini juga didukung multipart uploads melalui protokol S3. Ini memungkinkan chunk diunggah secara paralel untuk memaksimalkan throughput upload, lalu digabungkan di akhir.

Peluncuran resmi Resumable Uploads

  • Bersamaan dengan pengumuman GA platform, kami senang menyampaikan bahwa Resumable Uploads juga telah resmi dirilis.
  • Resumable Uploads didukung oleh protokol TUS. Proses ini sangat memuaskan karena dilakukan dengan kerja sama erat bersama tim TUS. Terima kasih sebesar-besarnya kepada pengelola protokol TUS, @murderlon dan @acconut, atas pendekatan kolaboratif mereka terhadap open source.

Kontribusi Supabase

  • Supabase telah berkontribusi pada beberapa fitur lanjutan dalam implementasi Node untuk spesifikasi TUS, termasuk distributed locking, ukuran file maksimum, perpanjangan kedaluwarsa, dan berbagai perbaikan bug.
  • Fitur-fitur ini sangat penting bagi Supabase, dan dapat digunakan karena server Node TUS bersifat open source. Ini juga merupakan prinsip inti lainnya: menggunakan dan mendukung alat yang sudah ada alih-alih membangunnya dari nol jika memungkinkan.

Peningkatan lainnya

  • Transfer antar-bucket: sebelumnya operasi hanya dapat dilakukan dalam bucket Supabase yang sama, kini objek dapat disalin dan dipindahkan antar-bucket.
  • Kode error yang distandardisasi: kode error telah distandardisasi di seluruh server Storage, sehingga kini jauh lebih mudah menggunakan logika percabangan untuk error tertentu.
  • Migrasi multi-tenant: migrasi yang berjalan di semua tenant telah ditingkatkan secara signifikan. Ini mengurangi error migrasi di seluruh fleet dan memungkinkan migrasi yang berjalan lama dieksekusi secara asinkron.
  • Pemisahan dependensi: Storage kini sepenuhnya dipisahkan dari produk Supabase lainnya, sehingga Storage dapat dijalankan sebagai layanan mandiri. Mulailah dengan file docker-compose.

Memulai

  • Periksa kompatibilitas API S3 di dokumentasi
  • Pelajari autentikasi S3
  • Coba gunakan S3 dengan Cyberduck: ikuti panduan integrasinya
  • Coba gunakan S3 dengan DuckDB: ikuti panduannya di YouTube

Opini GN⁺

  • Kompatibilitas S3 membuat Supabase Storage selangkah lebih dekat ke standar cloud storage. Karena banyak perusahaan sudah menggunakan S3, perpindahan ke Supabase menjadi sangat mudah.
  • Namun, karena S3 pada dasarnya adalah layanan AWS, dalam jangka panjang mungkin layak juga mempertimbangkan pengembangan protokol unik milik Supabase sendiri. Situasi ketergantungan pada Amazon sebaiknya dihindari.
  • Dengan peluncuran resmi Resumable Upload, transfer file berukuran besar tampaknya akan menjadi jauh lebih mudah. Poin menonjolnya adalah mampu mengatasi keterbatasan metode lama sekaligus meningkatkan kegunaan.
  • Membangun pipeline data engineering dengan memanfaatkan S3 adalah contoh yang menarik. Jika dimanfaatkan dengan baik, ini dapat membantu modernisasi infrastruktur data perusahaan.
  • Keterlibatan langsung Supabase dalam meningkatkan protokol TUS, lalu mengembalikannya lagi ke ekosistem open source, merupakan siklus positif yang mengesankan. Mereka menjalankan peran dengan baik bukan hanya sebagai pengguna open source, tetapi juga sebagai kontributor.

1 komentar

 
GN⁺ 2024-04-20
Komentar Hacker News
  • CEO Supabase memperkenalkan pembaruan produk Storage yang baru. Produk ini menyimpan file berukuran besar dan menambahkan kompatibilitas S3 sehingga bisa digunakan bersama ribuan alat yang sudah ada. Ia secara khusus menyoroti potensi untuk ilmuwan/insinyur data.

  • Seorang pengguna menyambut baik bahwa kini mereka bisa memanfaatkan penyedia CDN yang mendukung S3, sambil tetap menunjukkan bahwa masih ada bagian di Supabase yang perlu ditingkatkan. Secara keseluruhan, ia menilai arah perkembangan Supabase secara positif.

  • Dibagikan contoh bahwa DuckDB kini bisa langsung melakukan kueri file parquet dari Supabase Storage yang sekarang mendukung protokol S3.

  • Ada juga pendapat dari pengguna yang lebih menyukai metode penyimpanan Large Object di PostgreSQL.

  • Muncul pertanyaan tentang kemudahan self-hosting Supabase. Pengguna ingin tahu seberapa mudah beralih ke self-hosting karena masalah biaya.

  • Bersamaan dengan kabar bahwa Supabase merekrut tim Oriole, ada juga pendapat dari pengguna yang sedang mempertimbangkan integrasi dengan Cloudflare R2.

  • Ada pertanyaan tentang cara implementasi Supabase Storage, khususnya apakah data benar-benar disimpan di PostgreSQL, dan apakah pembaruan transaksional didukung.

  • Seorang pengguna menyampaikan rasa percaya dan keterikatannya pada Supabase, serta berharap perusahaan itu tidak diakuisisi lalu rusak karenanya.

  • Ada juga pendapat yang mengungkapkan keheranan bahwa API proprietari AWS S3 pada praktiknya telah menjadi standar industri.

  • Pertanyaan tentang apakah URL yang ditandatangani sebelumnya (pre-signed URL) didukung juga diajukan.