Konsistensi

Halaman ini menjelaskan operasi Cloud Storage mana yang sangat konsisten dan mana yang memiliki konsistensi tertunda. Dalam hal objek yang dapat di-cache dan dapat dibaca secara publik, Anda mengontrol seberapa konsisten operasi pada objek.

Operasi yang sangat konsisten

Cloud Storage memberikan konsistensi global yang kuat untuk operasi berikut:

  • Read-after-write
  • Read-after-metadata-update
  • Read-after-delete
  • Daftar bucket
  • Daftar objek

Saat Anda menulis objek ke Cloud Storage, misalnya saat mengupload, menulis, atau menyalin objek, objek tersebut segera tersedia untuk dibaca dan operasi metadata segera setelah Anda menerima respons sukses terhadap penulisan. Ini berlaku untuk semua lokasi bucket dan semua kelas penyimpanan, dan ini berlaku untuk pembuatan objek baru dan penggantian objek yang ada. Karena penulisan sangat konsisten, Anda tidak akan pernah menerima respons 404 Not Found atau data yang tidak berlaku untuk read-after-write atau read-after-metadata-update.

Konsistensi global yang kuat juga meluas ke operasi penghapusan pada objek. Jika permintaan penghapusan berhasil, upaya segera untuk mendownload objek atau metadatanya akan menghasilkan kode status 404 Not Found. Anda mendapatkan error 404 karena objek sudah tidak lagi ada setelah operasi penghapusan berhasil.

Daftar bucket dan daftar objek sangat konsisten: saat Anda membuat bucket atau objek, lalu segera menjalankan operasi list yang relevan, bucket atau objek yang baru dibuat akan muncul dalam daftar yang ditampilkan.

Untuk bucket, meskipun update metadata sangat konsisten untuk operasi baca setelah update metadata, perubahan konfigurasi yang dihasilkan mungkin memerlukan waktu untuk diterapkan. Misalnya, jika mengaktifkan pembuatan versi objek di bucket, Anda harus menunggu minimal 30 detik sebelum menghapus atau mengganti objek.

Demikian pula untuk kunci HMAC, ada penundaan hingga 3 menit antara saat Anda meminta untuk mengubah status kunci dan saat perubahan status diterapkan. Misalnya, jika menonaktifkan kunci HMAC, Anda harus menunggu setidaknya 3 menit sebelum membuat permintaan untuk menghapus kunci tersebut, karena upaya untuk melakukannya dalam 3 menit pertama dapat gagal.

Operasi yang konsistennya tertunda

Operasi berikut memiliki konsistensi yang tertunda:

  • Memberikan akses atau mencabut akses dari resource.

Biasanya perlu waktu sekitar satu menit hingga operasi ini diterapkan. Dalam beberapa kasus, mungkin diperlukan waktu beberapa menit lebih lama.

Sebagai contoh perilaku yang dapat muncul dari konsistensi yang tertunda, jika Anda menghapus akses pengguna ke bucket, perubahan ini akan langsung tercermin dalam metadata untuk bucket tersebut; namun, pengguna mungkin masih memiliki akses ke bucket selama waktu yang singkat.

Kontrol dan konsistensi cache

Objek dalam cache yang dapat dibaca secara publik mungkin tidak menunjukkan konsistensi yang kuat. Jika Anda mengizinkan objek untuk di-cache, dan objek tersebut berada dalam cache saat diperbarui atau dihapus, objek yang di-cache tidak akan diperbarui atau dihapus hingga masa aktif cache-nya berakhir.

Masa aktif cache objek ditentukan oleh metadata Cache-Control yang terkait dengan objek tersebut. Metadata Cache-Control dapat ditetapkan menggunakan header permintaan Cache-Control yang disertakan dalam upload awal objek, atau dalam pembaruan metadata objek berikutnya. Karena Anda mengontrol metadata Cache-Control, Anda juga mengontrol sejauh mana objek yang di-cache sudah konsisten. Selain itu, meskipun permintaan untuk objek dapat menyertakan header Cache-Control-nya sendiri, header ini diabaikan oleh Cloud Storage jika ditetapkan untuk menghindari konten yang disimpan dalam cache.

Operasi atom

Cloud Storage menyediakan jaminan atomicity untuk sebagian besar operasi yang melibatkan setiap objek, seperti mengupload objek, memperbarui metadata objek, dan menghapus objek. Operasi yang melibatkan beberapa objek sekaligus, seperti menyalin atau mengganti nama beberapa objek, tidak bersifat atomik.

Langkah selanjutnya