Azure sayfa bloblarına genel bakış

Azure Depolama üç tür blob depolama alanı sunar: Blok Blobları, Ekleme Blobları ve sayfa blobları. Blok blobları bloklardan oluşur ve metin veya ikili dosyaları depolamak ve büyük dosyaları verimli bir şekilde karşıya yüklemek için idealdir. Ekleme blobları da bloklardan oluşur, ancak ekleme işlemleri için iyileştirildiğinden günlük senaryoları için idealdir. Sayfa blobları, toplam boyutu 8 TB'a kadar olan 512 baytlık sayfalardan oluşur ve sık sık rastgele okuma/yazma işlemleri için tasarlanmıştır. Sayfa blobları, Azure IaaS Disklerinin temelini oluşturur. Bu makale, sayfa bloblarının özelliklerini ve avantajlarını açıklamaya odaklanır.

Sayfa blobları, rastgele bayt aralıklarını okuma/yazma olanağı sağlayan 512 baytlık bir sayfa koleksiyonu. Bu nedenle sayfa blobları, Sanal Makineler ve Veritabanları için işletim sistemi ve veri diskleri gibi dizin tabanlı ve seyrek veri yapılarını depolamak için idealdir. Örneğin Azure SQL DB, veritabanları için temel kalıcı depolama alanı olarak sayfa bloblarını kullanır. Ayrıca, sayfa blobları genellikle Range-Based güncelleştirmeleri olan dosyalar için de kullanılır.

Azure sayfa bloblarının temel özellikleri REST arabirimi, temel depolamanın dayanıklılığı ve Azure'a sorunsuz geçiş özellikleridir. Bu özellikler sonraki bölümde daha ayrıntılı olarak ele alınıyor. Ayrıca Azure sayfa blobları şu anda iki tür depolama alanında desteklenmektedir: Premium Depolama ve Standart Depolama. Premium Depolama, tutarlı yüksek performans ve düşük gecikme süresi gerektiren iş yükleri için özel olarak tasarlanmıştır ve premium sayfa blobları yüksek performanslı depolama senaryoları için idealdir. Standart depolama hesapları gecikme süresine duyarlı olmayan iş yüklerini çalıştırmak için daha uygun maliyetlidir.

Kısıtlamalar

Sayfa blobları yalnızca Sık Erişimli erişim katmanını kullanabilir, Seyrek Erişim veya Arşiv katmanlarını kullanamaz. Erişim katmanları hakkında daha fazla bilgi için bkz . Blob verileri için Sık Erişimli, Seyrek Erişimli ve Arşiv erişim katmanları.

Kullanım örnekleri

Şimdi Azure IaaS Diskleri ile başlayan sayfa blobları için birkaç kullanım örneğini ele alalım. Azure sayfa blobları, Azure IaaS için sanal diskler platformunun omurgasını oluşturur. Hem Azure işletim sistemi hem de veri diskleri, verilerin Azure Depolama platformunda kalıcı olarak kalıcı hale geldiği ve ardından en yüksek performans için sanal makinelere teslim edildiği sanal diskler olarak uygulanır. Azure Diskleri Hyper-V VHD biçiminde kalıcı hale getirilir ve Azure Depolama'da sayfa blobu olarak depolanır. Sayfa blobları, Azure IaaS VM'leri için sanal disklerin kullanılmasına ek olarak, şu anda SQL verilerini depolamak için sayfa blobları kullanan Azure SQL DB hizmeti gibi PaaS ve DBaaS senaryolarını da etkinleştirir ve veritabanı için hızlı rastgele okuma-yazma işlemleri sağlar. Başka bir örnek, ortak video düzenleme uygulamaları için paylaşılan medya erişimine yönelik bir PaaS hizmetiniz varsa sayfa bloblarının medyadaki rastgele konumlara hızlı erişim sağlamasıdır. Ayrıca aynı medyanın birden çok kullanıcı tarafından hızlı ve verimli bir şekilde düzenlenmesini ve birleştirilmesini sağlar.

Azure Site Recovery, Azure Backup gibi birinci taraf Microsoft hizmetlerinin yanı sıra birçok üçüncü taraf geliştirici, sayfa blobu REST arabirimini kullanarak sektör lideri yenilikler uyguladı. Azure'da uygulanan benzersiz senaryolardan bazıları şunlardır:

  • Uygulama tarafından yönlendirilen artımlı anlık görüntü yönetimi: Uygulamalar, verilerin maliyetli bir şekilde yinelenmesine neden olmadan uygulama denetim noktalarını kaydetmek için sayfa blobu anlık görüntülerinden ve REST API'lerinden yararlanabilir. Azure Depolama, sayfa blobları için yerel anlık görüntüleri destekler ve blob'un tamamının kopyalanmasını gerektirmez. Bu genel anlık görüntü API'leri, anlık görüntüler arasındaki deltalara erişmeye ve bunları kopyalamaya da olanak tanır.
  • Uygulama ve verilerin şirket içinden buluta dinamik geçişi: Şirket içi vm çalışmaya devam ederken şirket içi verileri kopyalayın ve REST API'leri kullanarak doğrudan bir Azure sayfa blob'una yazın. Hedef yakalandıktan sonra, bu verileri kullanarak Azure VM'ye hızlı bir şekilde yük devretme yapabilirsiniz. Bu şekilde, vm'yi kullanmaya devam ederken arka planda veri geçişi gerçekleştiğinden ve yük devretme için gereken kapalı kalma süresi kısa olacağından (dakika cinsinden) vm'lerinizi ve sanal disklerinizi en düşük kapalı kalma süresiyle şirket içinden buluta geçirebilirsiniz.
  • Eşzamanlılık denetimi desteğiyle birden çok okuyucu ve tek yazıcı gibi senaryolara olanak tanıyan SAS tabanlı paylaşılan erişim.

Yönetilmeyen diskler kullanımdan kaldırılıyor. Ayrıntılar için bkz. Azure yönetilmeyen disklerinizi 30 Eylül 2025'e kadar geçirme.

Fiyatlandırma

Sayfa bloblarıyla sunulan her iki depolama türünün de kendi fiyatlandırma modeli vardır. Premium sayfa blobları yönetilen diskler fiyatlandırma modelini izlerken, standart sayfa blobları kullanılan boyutta ve her işlemle faturalandırılır. Daha fazla bilgi için bkz. Azure Sayfa Blobları fiyatlandırma sayfası.

Sayfa blobu özellikleri

REST API

Sayfa blobları kullanarak geliştirmeye başlamak için aşağıdaki belgeye bakın. Örnek olarak, .NET için Depolama İstemci Kitaplığı'ni kullanarak sayfa bloblarına erişmeye bakın.

Aşağıdaki diyagramda hesap, kapsayıcılar ve sayfa blobları arasındaki genel ilişkiler açıklanmaktadır.

Hesap, kapsayıcılar ve sayfa blobları arasındaki ilişkileri gösteren ekran görüntüsü

Belirtilen boyutta boş sayfa blobu oluşturma

İlk olarak bir kapsayıcıya başvuru alın. Sayfa blobu oluşturmak için GetPageBlobClient yöntemini çağırın ve ardından PageBlobClient.Create yöntemini çağırın. Blob için oluşturulacak maksimum boyutu geçirin. Bu boyut 512 baytlık bir kat olmalıdır.

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);

Sayfa blobu yeniden boyutlandırma

Oluşturulduktan sonra sayfa blobunu yeniden boyutlandırmak için Resize yöntemini kullanın. İstenen boyut 512 baytlık bir kat olmalıdır.

pageBlobClient.Resize(32 * OneGigabyteAsBytes);

Sayfa blob'larına sayfa yazma

Sayfa yazmak için PageBlobClient.UploadPages yöntemini kullanın.

pageBlobClient.UploadPages(dataStream, startingOffset);

Bu, 4 MB'a kadar sıralı bir sayfa kümesi yazmanızı sağlar. Yazılmakta olan uzaklık 512 baytlık bir sınırda (startingOffset % 512 == 0) başlamalı ve 512 sınırında bitmelidir - 1.

Sıralı bir sayfa kümesi için yazma isteği blob hizmetinde başarılı olur ve dayanıklılık ve dayanıklılık için çoğaltılırsa, yazma işlemi tamamlanır ve başarı istemciye geri döndürülür.

Aşağıdaki diyagramda 2 ayrı yazma işlemi gösterilmektedir:

İki ayrı yazma seçeneğini gösteren diyagram.

  1. 1024 bayt uzunluğundaki 0 uzaklığından başlayan bir Yazma işlemi
  2. 1024 uzunluğunun 4096 uzaklığında başlayan bir Yazma işlemi

Sayfa blobundan sayfaları okuma

Sayfaları okumak için PageBlobClient.Download yöntemini kullanarak sayfa blobundan bir bayt aralığı okuyun.

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

Bu, blobdaki herhangi bir uzaklıktan başlayarak tam blobu veya bayt aralığını indirmenize olanak tanır. Okurken, uzaklık 512'nin katıyla başlamak zorunda değildir. NUL sayfasından bayt okurken hizmet sıfır bayt döndürür.

Aşağıdaki şekilde, uzaklık değeri 256 ve aralık boyutu 4352 olan bir Okuma işlemi gösterilmektedir. Döndürülen veriler turuncu renkle vurgulanır. NUL sayfaları için sıfırlar döndürülür.

256 uzaklığı ve aralık boyutu 4352 olan Okuma işlemini gösteren diyagram

Seyrek doldurulmuş bir bloba sahipseniz, sıfır bayt çıkışını ödemekten kaçınmak ve indirme gecikmesini azaltmak için geçerli sayfa bölgelerini indirmeniz gerekebilir.

Hangi sayfaların veri tarafından yedeklendiğini belirlemek için PageBlobClient.GetPageRanges kullanın. Daha sonra döndürülen aralıkları numaralandırabilir ve her aralıktaki verileri indirebilirsiniz.

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

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

Sayfa blobu kiralama

Kira Blobu işlemi, yazma ve silme işlemleri için blob üzerinde kilit oluşturur ve yönetir. Bu işlem, bir sayfa blobunun birden çok istemciden erişildiği senaryolarda yararlıdır ve bloba aynı anda yalnızca bir istemcinin yazabilmesini sağlar. Örneğin Azure Diskleri, diskin yalnızca tek bir VM tarafından yönetildiğinden emin olmak için bu kiralama mekanizmasını kullanır. Kilit süresi 15 ile 60 saniye veya sonsuz olabilir. Diğer ayrıntılar için buradaki belgelere bakın.

Sayfa blobları zengin REST API'lerine ek olarak paylaşılan erişim, dayanıklılık ve gelişmiş güvenlik de sağlar. Bu avantajları sonraki paragraflarda daha ayrıntılı olarak ele alacağız.

Eşzamanlı erişim

Sayfa blobları REST API'sini ve kiralama mekanizması, uygulamaların sayfa blobunu birden çok istemciden erişmesini sağlar. Örneğin, depolama nesnelerini birden çok kullanıcıyla paylaşan bir dağıtılmış bulut hizmeti oluşturmanız gerektiğini varsayalım. Çeşitli kullanıcılara geniş bir görüntü koleksiyonu sunan bir web uygulaması olabilir. Bunu uygulamak için bir seçenek, bağlı diskleri olan bir VM kullanmaktır. Bunun dezavantajları şunlardır: (i) diskin yalnızca tek bir VM'ye bağlanabilmesi kısıtlaması, dolayısıyla ölçeklenebilirliği, esnekliği ve artan riskleri sınırlandırır. VM veya VM üzerinde çalışan hizmetle ilgili bir sorun varsa, kira nedeniyle, kira süresi dolana veya bozulana kadar görüntüye erişilemez; ve (ii) IaaS VM'sine sahip olmanın ek maliyeti.

Alternatif bir seçenek de sayfa bloblarını doğrudan Azure Depolama REST API'leri aracılığıyla kullanmaktır. Bu seçenek, yüksek maliyetli IaaS VM'leri gereksinimini ortadan kaldırır, birden çok istemciden doğrudan erişim için tam esneklik sunar, disk ekleme/ayırma gereksinimini ortadan kaldırarak klasik dağıtım modelini basitleştirir ve VM'de sorun riskini ortadan kaldırır. Ayrıca, bir diskle rastgele okuma/yazma işlemleri için aynı performans düzeyini sağlar

Dayanıklılık ve yüksek kullanılabilirlik

Hem standart hem de premium depolama, dayanıklılık ve yüksek kullanılabilirlik sağlamak için sayfa blobu verilerinin her zaman çoğaltıldığı dayanıklı depolamadır. Azure, endüstri lideri yüzde sıfır Yıllık Hata Oranı ile IaaS diskleri ve sayfa blobları için tutarlı bir şekilde kurumsal düzeyde dayanıklılık sunar.

Standart ve premium depolama hesapları için Azure Depolama yedekliliği hakkında daha fazla bilgi için bkz. Azure Depolama yedekliliği ve özellikle şu iki bölüm:

Azure'a sorunsuz geçiş

Azure, kendi özelleştirilmiş yedekleme çözümünü uygulamak isteyen müşteriler ve geliştiriciler için yalnızca deltaları barındıran artımlı anlık görüntüler de sunar. Bu özellik, ilk tam kopyanın maliyetini önler ve bu da yedekleme maliyetini büyük ölçüde düşürür. Fark verilerini verimli bir şekilde okuma ve kopyalama özelliğinin yanı sıra, geliştiricilerden daha fazla yeniliğe olanak tanıyan ve Azure'da sınıfının en iyisi yedekleme ve olağanüstü durum kurtarma (DR) deneyimine yol açan başka bir güçlü özelliktir. Blob Anlık Görüntüsünü, Sayfa Aralıklarını Al API'sini ve DR için artımlı verileri kolayca kopyalamak için kullanabileceğiniz Artımlı Kopyalama Blob API'sini kullanarak Azure'da VM'leriniz için kendi yedekleme veya DR çözümünüzü ayarlayabilirsiniz.

Ayrıca, birçok kuruluş zaten şirket içi veri merkezlerinde çalışan kritik iş yüklerine sahiptir. İş yükünü buluta geçirmek için en önemli sorunlardan biri, verilerin kopyalanması için gereken kapalı kalma süresi miktarı ve geçiş sonrasında öngörülemeyen sorunlar riskidir. Çoğu durumda, kapalı kalma süresi buluta geçiş için bir gösterici olabilir. Azure, sayfa blobları REST API'sini kullanarak kritik iş yüklerinde en az kesintiyle bulut geçişini etkinleştirerek bu sorunu giderir.

Anlık görüntü alma ve sayfa blobunu anlık görüntüden geri yükleme örnekleri için lütfen artımlı anlık görüntüleri kullanarak yedekleme işlemi ayarlama makalesine bakın.