Gambaran umum blob halaman Azure

Azure Storage menawarkan tiga jenis penyimpanan blob: Blob Blok, Blob Penambahan, dan Blob halaman. Blob blok terdiri dari blok dan ideal untuk menyimpan file teks atau biner, dan untuk mengunggah file besar secara efisien. Blok penambahan juga terdiri dari blok, tetapi mereka dioptimalkan untuk operasi penambahan, menjadikannya ideal untuk skenario pengelogan. Blob halaman terdiri dari halaman 512-byte hingga 8 TB dalam ukuran total dan dirancang untuk operasi membaca/menulis acak yang sering. Blob halaman adalah fondasi Azure IaaS Disks. Artikel ini berfokus menjelaskan fitur dan manfaat blob halaman.

Blob halaman adalah koleksi halaman 512-byte, yang menyediakan kemampuan untuk membaca/menulis rentang byte yang arbitrer. Oleh karena itu, blob halaman sangat ideal untuk menyimpan struktur data berbasis indeks dan jarang seperti OS dan diska data untuk Microsoft Azure Virtual Machines dan Database. Misalnya, Azure SQL DB menggunakan blob halaman sebagai penyimpanan yang awet untuk databasenya. Selain itu, blob halaman juga sering digunakan untuk file dengan pembaruan Berbasis Rentang.

Fitur utama dari blob halaman Azure adalah antarmuka REST-nya, ketahanan penyimpanan yang mendasarinya, dan kemampuan migrasi yang mulus ke Azure. Fitur-fitur ini dibahas secara lebih rinci di bagian berikutnya. Selain itu, blob halaman Azure saat ini didukung pada dua jenis penyimpanan: Penyimpanan Premium dan Penyimpanan Standar. Penyimpanan Premium dirancang khusus untuk beban kerja yang membutuhkan kinerja tinggi yang konsisten dan latensi rendah membuat blob halaman premium ideal untuk skenario penyimpanan berkinerja tinggi. Akun penyimpanan standar lebih hemat biaya untuk menjalankan beban kerja tak peka-latensi.

Batasan

Blob halaman hanya dapat menggunakan tingkat akses Hot, mereka tidak dapat menggunakan tingkat Dingin atau Arsip. Untuk informasi selengkapnya tentang tingkat akses, lihat Tingkat penyimpanan Hot, Cool, dan Archive untuk data blob.

Sampel kasus penggunaan

Mari kita bahas beberapa kasus penggunaan untuk blob halaman yang dimulai dengan Azure IaaS Disks. Blob halaman Azure adalah tulang punggung platform diska virtual untuk Azure IaaS. Baik AzureOS dan diska data diimplementasikan sebagai diska virtual di mana data bertahan lama di platform Azure Storage dan kemudian dikirim ke komputer virtual untuk kinerja maksimum. Azure Disks bertahan dalam format Hyper-V VHD dan disimpan sebagai blob halaman di Azure Storage. Selain menggunakan diska virtual untuk Azure IaaS VM, blob halaman juga memungkinkan skenario PaaS dan DBaaS seperti layanan Azure SQL DB, yang saat ini menggunakan blob halaman untuk menyimpan data SQL, memungkinkan operasi baca-tulis acak cepat untuk database. Contoh lain adalah jika Anda memiliki layanan PaaS untuk akses media bersama untuk aplikasi pengeditan video kolaboratif, blob halaman memungkinkan akses cepat ke lokasi acak di media. Ini juga memungkinkan pengeditan dan penggabungan media yang sama dengan cepat dan efisien oleh beberapa pengguna.

Layanan Microsoft pihak pertama seperti Azure Site Recovery, Azure Backup, serta banyak pengembang pihak ketiga telah menerapkan inovasi terdepan di industri menggunakan antarmuka REST blob halaman. Berikut ini adalah beberapa skenario unik yang diterapkan di Azure:

  • Manajemen rekam jepret bertambah bertahap yang diarahkan aplikasi: Aplikasi dapat memanfaatkan rekam jepret blob halaman dan REST API untuk menyimpan titik pemeriksaan aplikasi tanpa menimbulkan duplikasi data yang mahal. Azure Storage mendukung rekam jepret lokal untuk blob halaman, yang tidak memerlukan penyalinan seluruh blob. API rekam jepret publik ini juga memungkinkan mengakses dan menyalin delta di antara rekam jepret.
  • Migrasi langsung aplikasi dan data dari lokal ke awan: Salin data lokal dan gunakan REST API untuk menulis langsung ke blob halaman Azure saat VM lokal terus berjalan. Setelah target tercapai, Anda dapat dengan cepat beralih ke Azure VM menggunakan data itu. Dengan cara ini, Anda dapat memigrasikan VM dan diska virtual Anda dari lokal ke cloud dengan penghentian minimal karena migrasi data terjadi di latar belakang saat Anda terus menggunakan VM dan penghentian yang diperlukan untuk beralih karena adanya kegagalan akan singkat (dalam hitungan menit).
  • Akses bersama berbasis SAS, yang memungkinkan skenario seperti beberapa pembaca dan penulis tunggal dengan dukungan untuk kontrol konkurensi.

Disk yang tidak dikelola sedang dihentikan, untuk detailnya lihat Memigrasikan disk tidak terkelola Azure Anda sebelum 30 September 2025.

Harga

Kedua jenis penyimpanan yang ditawarkan dengan blob halaman memiliki model harga sendiri. Blob halaman premium mengikuti model harga diska terkelola, sementara blob halaman standar ditagih berdasarkan ukuran yang digunakan dan sesuai dengan masing-masing transaksi. Untuk informasi selengkapnya, lihat halaman harga Blob Halaman Azure.

Fitur blob halaman

REST API

Lihat dokumen berikut untuk mulai mengembangkan menggunakan blob halaman. Sebagai contoh, lihat cara mengakses blob halaman menggunakan Pustaka Klien Storage untuk .NET.

Diagram berikut menjelaskan hubungan keseluruhan antara akun, kontainer, dan blob halaman.

Cuplikan layar memperlihatkan hubungan antara akun, kontainer, dan blob halaman

Membuat blob halaman kosong dengan ukuran yang ditentukan

Pertama, dapatkan referensi ke kontainer. Untuk membuat blob halaman, panggil metode GetPageBlobClient, lalu panggil metode PageBlobClient.Create. Berikan ukuran maksimal untuk blob yang akan dibuat. Ukuran itu harus kelipatan 512 byte.

long OneGigabyteAsBytes = 1024 * 1024 * 1024;

BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);

var blobContainerClient =
    blobServiceClient.GetBlobContainerClient(Constants.containerName);

var pageBlobClient = blobContainerClient.GetPageBlobClient("0s4.vhd");

pageBlobClient.Create(16 * OneGigabyteAsBytes);

Mengubah ukuran blob halaman

Untuk mengubah ukuran blob halaman setelah pembuatan, gunakan metode Mengubah Ukuran. Ukuran yang diminta harus kelipatan 512 byte.

pageBlobClient.Resize(32 * OneGigabyteAsBytes);

Menulis halaman ke blob halaman

Untuk menulis halaman, gunakan metode PageBlobClient.UploadPages.

pageBlobClient.UploadPages(dataStream, startingOffset);

Ini memungkinkan Anda untuk menulis set halaman berurutan hingga 4 MB. Offset yang ditulis harus dimulai pada batas 512-byte (startingOffset % 512 == 0), dan berakhir pada batas 512 - 1.

Segera setelah permintaan tulis untuk set halaman berurutan berhasil dalam layanan blob dan direplikasi untuk daya tahan dan ketahanan, tulisan telah terkirim, dan keberhasilan dikembalikan ke klien.

Diagram di bawah ini menunjukkan 2 operasi tulis terpisah:

Diagram yang menunjukkan dua opsi tulis terpisah.

  1. Operasi Tulis dimulai dari offset 0 panjang 1024 byte
  2. Operasi Tulis dimulai dari offset 4096 panjang 1024 byte

Membaca halaman dari blob halaman

Untuk membaca halaman, gunakan metode PageBlobClient.Download untuk membaca rentang byte dari blob halaman.

var pageBlob = pageBlobClient.Download(new HttpRange(bufferOffset, rangeSize));

Ini memungkinkan Anda untuk mengunduh blob penuh atau rentang byte mulai dari offset apa pun di blob. Saat membaca, offset tidak harus dimulai pada kelipatan 512. Saat membaca byte dari halaman NUL, layanan mengembalikan nol byte.

Gambar berikut menunjukkan operasi Baca dengan offset 256 dan ukuran rentang 4352. Data yang dikembalikan disorot dengan warna oranye. Nol dikembalikan untuk halaman NUL.

Diagram memperlihatkan operasi Baca dengan offset 256 dan ukuran rentang 4352

Jika Anda memiliki blob yang jarang terisi, Anda mungkin ingin mengunduh wilayah halaman yang valid untuk menghindari pembayaran untuk keluar dari nol byte dan untuk mengurangi latensi unduhan.

Untuk menentukan halaman mana yang didukung oleh data, gunakan PageBlobClient.GetPageRanges. Anda kemudian dapat menghitung rentang yang dikembalikan dan mengunduh data di setiap rentang.

IEnumerable<HttpRange> pageRanges = pageBlobClient.GetPageRanges().Value.PageRanges;

foreach (var range in pageRanges)
{
    var pageBlob = pageBlobClient.Download(range);
}

Menyewa blob halaman

Operasi penyewaan Blob menetapkan dan mengelola kunci pada blob untuk operasi tulis dan hapus. Operasi ini berguna dalam skenario saat blob halaman sedang diakses dari beberapa klien untuk memastikan hanya satu klien yang dapat menulis ke blob pada satu waktu. Misalnya, Azure Disks memanfaatkan mekanisme penyewaan ini untuk memastikan disk tersebut hanya dikelola oleh satu mesin virtual. Durasi penguncian bisa 15 hingga 60 detik, atau bisa tak terbatas. Lihat dokumentasi di sini untuk detail selengkapnya.

Selain REST API yang kaya, blob halaman juga menyediakan akses bersama, ketahanan, dan keamanan yang ditingkatkan. Kami akan membahas manfaat tersebut secara lebih rinci dalam paragraf berikutnya.

Akses bersamaan

REST API blob halaman dan mekanisme penyewaannya memungkinkan aplikasi untuk mengakses blob halaman dari beberapa klien. Misalnya, Anda perlu membangun layanan cloud terdistribusi yang berbagi objek penyimpanan dengan beberapa pengguna. Ini bisa menjadi aplikasi web yang melayani banyak koleksi gambar untuk beberapa pengguna. Salah satu opsi untuk mengimplementasikan ini adalah dengan menggunakan VM dengan diska yang terpasang. Kelemahan dari ini termasuk, (i) kendala bahwa diska hanya dapat dilampirkan ke satu VM sehingga membatasi skalabilitas, fleksibilitas, dan meningkatkan risiko. Jika ada masalah dengan VM atau layanan yang berjalan pada VM, maka karena sewa, gambar tidak dapat diakses sampai sewa berakhir atau putus; dan (ii) Biaya tambahan untuk memiliki IaaS VM.

Pilihan alternatif adalah menggunakan blob halaman langsung melalui Azure Storage REST API. Opsi ini menghilangkan kebutuhan akan IAAS VM yang mahal, menawarkan fleksibilitas penuh akses langsung dari beberapa klien, menyederhanakan model penyebaran klasik dengan menghilangkan kebutuhan untuk melampirkan/melepaskan diska, dan menghilangkan risiko masalah pada VM. Dan, ini memberikan tingkat kinerja yang sama untuk operasi membaca/menulis acak sebagaimana diska

Ketahanan dan ketersediaan tinggi

Penyimpanan standar dan premium adalah penyimpanan tahan lama di mana data blob halaman selalu direplikasi untuk memastikan durabilitas dan ketersediaan tinggi. Azure secara konsisten memberikan durabilitas tingkat perusahaan untuk disk IaaS dan blob halaman, dengan Tingkat Kegagalan Tahunan nol persen terdepan di industri.

Untuk informasi selengkapnya tentang redundansi Azure Storage untuk akun penyimpanan standar dan premium, lihat Redundansi Azure Storage, dan kedua bagian ini secara khusus:

Migrasi mulus ke Azure

Untuk pelanggan dan pengembang yang tertarik untuk menerapkan solusi cadangan mereka sendiri yang disesuaikan, Azure juga menawarkan rekam jepret bertambah bertahap yang hanya memegang delta. Fitur ini menghindari biaya salinan penuh di awal, yang sangat menurunkan biaya cadangan. Seiring dengan kemampuan untuk membaca dan menyalin data diferensial secara efisien, ini adalah kemampuan hebat lain yang memungkinkan lebih banyak inovasi dari pengembang, yang mengarah ke pengalaman pencadangan dan pemulihan bencana (DR) terbaik di kelasnya di Azure. Anda dapat menyiapkan solusi cadangan atau DR Anda sendiri untuk VM Anda di Azure menggunakan Rekam jepret Blob bersama dengan Dapatkan Rentang Halaman API dan API Blob Salin Bertambah bertahap, yang dapat Anda gunakan untuk menyalin data bertambah bertahap untuk DR dengan mudah.

Selain itu, banyak perusahaan memiliki beban kerja penting yang sudah berjalan di pusat data lokal. Untuk memigrasikan beban kerja ke awan, salah satu kekhawatiran utama adalah jumlah penghentian yang diperlukan untuk menyalin data, dan risiko masalah yang tidak terduga setelah peralihan. Dalam banyak kasus, penghentian dapat menjadi daya tarik untuk migrasi ke cloud. Menggunakan REST API blob halaman, Azure mengatasi masalah ini dengan mengaktifkan migrasi cloud dengan gangguan minimal pada beban kerja kritis.

Misalnya tentang cara mengambil rekam jepret dan cara memulihkan blob halaman dari rekam jepret, silakan lihat artikelmempersiapkan proses pencadangan menggunakan artikel rekam jepret inkremental.