Amazon S3 menambahkan fitur Put-If-Match (Compare-and-Swap)
(aws.amazon.com)-
Fitur baru Amazon S3: penulisan bersyarat
-
Amazon S3 kini dapat melakukan penulisan bersyarat yang memperbarui objek setelah mengevaluasi apakah objek tersebut belum dimodifikasi. Ini membantu mengoordinasikan penulisan serentak pada objek yang sama dan mencegah beberapa penulis bersamaan secara tidak sengaja menimpa isi objek tanpa mengetahui kontennya.
-
Fitur ini dapat digunakan di bucket tujuan umum dan bucket direktori S3 dengan memberikan ETag objek melalui permintaan API S3 PutObject atau CompleteMultipartUpload.
-
Penulisan bersyarat menyederhanakan cara aplikasi terdistribusi memperbarui kumpulan data bersama secara bersamaan. Mirip dengan penggunaan header kondisional HTTP
if-none-matchuntuk memeriksa apakah objek sudah ada sebelum dibuat, klien kini dapat melakukan pemeriksaan penulisan bersyarat dengan menentukan ETag objek melalui header HTTPif-matchdalam permintaan API. -
S3 akan meng-commit penulisan setelah mengevaluasi apakah ETag objek cocok dengan nilai yang diberikan dalam permintaan API, sehingga mencegah klien menimpa objek sampai kondisi tersebut terpenuhi.
-
Header kondisional baru ini dapat membantu meningkatkan efisiensi analitik skala besar, machine learning terdistribusi, dan pekerjaan lain yang sangat terparalelkan.
-
Fitur penulisan bersyarat baru ini tersedia tanpa biaya tambahan di semua Region AWS. Anda dapat melakukan penulisan bersyarat menggunakan AWS SDK, API, atau CLI. Untuk detail lebih lanjut tentang penulisan bersyarat, lihat Panduan Pengguna S3.
-
1 komentar
Opini Hacker News
Amazon S3 menambahkan fitur untuk memaksakan operasi penulisan bersyarat
Turbopuffer.com telah menggunakan ini di database mereka untuk menghindari ketergantungan selain object storage
Dengan konsistensi yang kuat, setengah dari fungsi yang diinginkan sudah tercapai
Ada juga yang kesulitan memahami mengapa fitur ini penting
Ini lebih dekat ke compare-and-set daripada compare-and-swap
Jika digabungkan dengan jaminan konsistensi read-after-write, ini menjadi fondasi yang sempurna untuk membangun penyimpanan append-only inkremental di atas object storage
Azure Blob Storage juga mendukung e-tag dan kontrol optimistis
Jika algoritme ETag default AWS hanyalah hash MD5 biasa, ada yang bertanya-tanya apakah data objek bisa gagal karena tabrakan MD5
Implementasi open source Amazon S3, yaitu MinIO, sudah menyediakan fitur ini sejak hampir 2 tahun lalu
Fitur baru ditambahkan pada musim panas sebagai respons terhadap fitur
IfNoneMatchdi s3fs