Memahami blob blok, blob tambahan, dan blob halaman

Layanan penyimpanan menawarkan tiga jenis blob, blob blok, blob penambahan, dan blob halaman. Anda menentukan jenis blob saat membuat blob. Setelah blob dibuat, jenisnya tidak dapat diubah, dan hanya dapat diperbarui dengan menggunakan operasi yang sesuai untuk jenis blob tersebut, yaitu, menulis blok atau daftar blok ke blob blok, menambahkan blok ke blob penambahan, dan menulis halaman ke blob halaman.

Semua blob segera mencerminkan perubahan yang diterapkan. Setiap versi blob memiliki tag unik, yang disebut ETag, yang dapat Anda gunakan dengan kondisi akses untuk memastikan Anda hanya mengubah instans tertentu dari blob.

Blob apa pun dapat disewa untuk akses tulis eksklusif. Ketika blob disewakan, hanya panggilan yang menyertakan ID sewa saat ini yang dapat memodifikasi blob atau (untuk blob blok) bloknya.

Blob apa pun dapat diduplikasi dalam rekam jepret. Untuk informasi tentang rekam jepret, lihat Membuat Rekam Jepret Blob.

Catatan

Blob di emulator penyimpanan Azure dibatasi hingga ukuran maksimum 2 GiB.

Tentang blob blok

Blob blok dioptimalkan untuk mengunggah data dalam jumlah besar secara efisien. Blob blok terdiri dari blok, yang masing-masing diidentifikasi oleh ID blok. Blob blok dapat mencakup hingga 50.000 blok. Setiap blok dalam blob blok dapat menjadi ukuran yang berbeda, hingga ukuran maksimum yang diizinkan untuk versi layanan yang digunakan. Untuk membuat atau memodifikasi blob blok, tulis sekumpulan blok melalui operasi Put Block lalu terapkan blok ke blob dengan operasi Put Block List .

Blob yang kurang dari ukuran tertentu (ditentukan oleh versi layanan) dapat diunggah secara keseluruhan dengan satu operasi tulis melalui Put Blob.

Tabel berikut ini menjelaskan ukuran blok dan blob maksimum yang diizinkan oleh versi layanan.

Versi layanan. Ukuran blok maksimum (melalui Put Block) Ukuran blob maksimum (melalui Put Block List) Ukuran blob maksimum melalui operasi tulis tunggal (melalui Put Blob)
Versi 12-12-2019 dan yang lebih baru 4000 MiB Sekitar 190,7 TiB (4000 MiB X 50.000 blok) 5000 MiB
Versi 31-05-2016 hingga versi 07-07-2019 100 MiB Sekitar 4,75 TiB (100 MiB X 50.000 blok) 256 MiB
Versi sebelum 31-05-2016 4 MiB Sekitar 195 GiB (4 MiB X 50,000 blok) 64 MiB

Klien penyimpanan default ke unggahan blob tunggal maksimum 128 MiB, yang dapat diatur di pustaka klien Azure Storage untuk .NET versi 11 dengan menggunakan properti SingleBlobUploadThresholdInBytes dari objek BlobRequestOptions . Ketika unggahan blob blok lebih besar dari nilai dalam properti ini, klien penyimpanan memecah file menjadi blok. Anda dapat mengatur jumlah utas yang digunakan untuk mengunggah blok secara paralel per permintaan menggunakan properti ParallelOperationThreadCount dari objek BlobRequestOptions .

Saat Anda mengunggah blok ke blob di akun penyimpanan Anda, blok tersebut dikaitkan dengan blob blok yang ditentukan, tetapi tidak menjadi bagian dari blob sampai Anda menerapkan daftar blok yang menyertakan ID blok baru. Blok baru tetap dalam status tidak dikomit sampai secara khusus diterapkan atau dibuang. Mungkin ada maksimal 100.000 blok yang tidak dikomit. Menulis blok tidak memperbarui waktu terakhir yang dimodifikasi dari blob yang ada.

Blob blok mencakup fitur yang membantu Anda mengelola file besar melalui jaringan. Dengan blob blok, Anda dapat mengunggah beberapa blok secara paralel untuk mengurangi waktu unggahan. Setiap blok dapat menyertakan hash MD5 untuk memverifikasi transfer, sehingga Anda dapat melacak kemajuan unggahan dan mengirim ulang blok sesuai kebutuhan. Anda dapat mengunggah blok dalam urutan apa pun, dan menentukan urutannya dalam langkah komitmen daftar blok akhir. Anda juga dapat mengunggah blok baru untuk mengganti blok yang tidak dikomit yang ada dari ID blok yang sama. Anda memiliki satu minggu untuk menerapkan blok ke blob sebelum dibuang. Semua blok yang tidak dikomit juga dibuang ketika operasi komitmen daftar blokir terjadi tetapi tidak menyertakannya.

Anda dapat mengubah blob blok yang ada dengan menyisipkan, mengganti, atau menghapus blok yang ada. Setelah mengunggah blok atau blok yang telah berubah, Anda dapat menerapkan versi baru blob dengan menerapkan blok baru dengan blok yang ada yang ingin Anda tetap gunakan satu operasi penerapan. Untuk menyisipkan rentang byte yang sama di dua lokasi berbeda dari blob yang diterapkan, Anda dapat menerapkan blok yang sama di dua tempat dalam operasi penerapan yang sama. Untuk setiap operasi penerapan, jika ada blok yang tidak ditemukan, seluruh operasi komitmen gagal dengan kesalahan, dan blob tidak dimodifikasi. Komitmen blok apa pun menimpa properti dan metadata blob yang ada, dan membuang semua blok yang tidak dikomit.

ID blok adalah string dengan panjang yang sama dalam blob. Kode klien blok biasanya menggunakan pengodean base-64 untuk menormalkan string menjadi panjang yang sama. Saat menggunakan pengodean base-64, string yang dikodekan sebelumnya harus 64 byte atau kurang. Nilai ID blok dapat diduplikasi dalam blob yang berbeda.

Jika Anda menulis blok untuk blob yang tidak ada, blob blok baru dibuat, dengan panjang nol byte. Blob ini akan muncul dalam daftar blob yang menyertakan blob yang tidak dikomit. Jika Anda tidak melakukan blok apa pun ke blob ini, blok tersebut dan blok yang tidak dilakukan akan dibuang satu minggu setelah unggahan blok terakhir yang berhasil. Semua blok yang tidak dikomit juga dibuang ketika blob baru dengan nama yang sama dibuat menggunakan satu langkah (bukan proses upload-then-commit blok dua langkah).

Tentang blob halaman

Blob halaman adalah kumpulan halaman 512 byte yang dioptimalkan untuk operasi baca dan tulis acak. Untuk membuat blob halaman, Anda menginisialisasi blob halaman dan menentukan ukuran maksimum blob halaman akan bertambah. Untuk menambahkan atau memperbarui konten blob halaman, Anda menulis halaman atau halaman dengan menentukan offset dan rentang yang selaras dengan batas halaman 512 byte. Penulisan ke blob halaman hanya dapat menimpa satu halaman, beberapa halaman, atau hingga 4 MiB blob halaman. Menulis ke blob halaman terjadi di tempat dan segera dilakukan pada blob. Ukuran maksimum untuk blob halaman adalah 8 TiB.

Disk komputer virtual Azure didukung oleh blob halaman. Azure menawarkan dua jenis penyimpanan disk tahan lama: premium dan standar. Penyimpanan premium untuk blob halaman dirancang untuk beban kerja komputer virtual Azure yang memerlukan performa tinggi yang konsisten dan latensi rendah. Untuk informasi mendetail, lihat bagian Premium solid-state drives (SSD) dari artikel Memilih jenis disk untuk IaaS VM. Untuk informasi tentang target skalabilitas untuk penyimpanan premium untuk blob halaman, lihat Skalabilitas Azure Storage dan Target Performa.

Tentang blob tambahan

Blob penambahan terdiri dari blok dan dioptimalkan untuk operasi penambahan. Saat Anda memodifikasi blob penambahan, blok ditambahkan ke akhir blob saja, melalui operasi Append Block . Memperbarui atau menghapus blok yang ada tidak didukung. Tidak seperti blob blok, blob penambahan tidak mengekspos ID bloknya.

Setiap blok dalam blob penambahan dapat menjadi ukuran yang berbeda, hingga maksimum 4 MiB, dan blob penambahan dapat mencakup hingga 50.000 blok. Oleh karena itu, ukuran maksimum blob penambahan sedikit lebih dari 195 GiB (4 MiB X 50.000 blok).

Lihat juga