Azure sayfa blob'lara genel bakış

Azure Depolama üç tür blob depolama 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şuyor ancak ekleme işlemleri için iyileştirilmiştir ve bu da günlük senaryoları için idealdir. Sayfa blobları toplam boyutu 8 TB'a kadar olan 512 bayt sayfadan oluşuyor ve sık sık rastgele okuma/yazma işlemleri için tasarlanmıştır. Sayfa blobları, Azure IaaS Disklerinin temelini oluşturmadır. 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 sayfalardan bir koleksiyondur. 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 VERITABANı, veritabanları için temel alınan kalıcı depolama alanı olarak sayfa bloblarını kullanır. Ayrıca sayfa blobları genellikle veri güncelleştirmeleri olan dosyalar için Range-Based kullanılır.

Azure sayfa bloblarının temel özellikleri REST arabirimi, temel alınan 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ınmıştır. Buna ek olarak, Azure sayfa blobları şu anda iki tür depolamada de destek almaktadır: 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ırmaya göre daha uygun maliyetlidir.

Kısıtlamalar

Sayfa blobları yalnızca Hot erişim katmanını kullanabilir, Cool veya Archive katmanlarını kullanamaz. Erişim katmanları hakkında daha fazla bilgi için bkz. Azure Blob depolama Için erişim katmanları-sık erişimli, seyrek erişimli ve arşiv.

Kullanım örnekleri

Azure IaaS disklerinden başlayarak sayfa Blobları için birkaç kullanım durumu tartışalım. Azure sayfa Blobları, Azure IaaS için sanal diskler platformunun omurgası. Hem Azure işletim sistemi hem de veri diskleri, verilerin Azure depolama platformunda sürekli olarak kalıcı olduğu sanal diskler olarak uygulanır ve daha sonra en yüksek performans için sanal makinelere dağıtılır. Azure diskleri, Hyper-V VHD biçiminde kalıcı hale getirilir ve Azure Storage 'da bir Sayfa Blobu olarak depolanır. Sayfa Blobları, Azure IaaS VM 'Leri için sanal disklerin kullanılmasına ek olarak, SQL verilerini depolamak için şu anda sayfa Blobları kullanan PaaS ve DBaaS senaryolarını da etkinleştirir ve bu veritabanı için hızlı rastgele okuma yazma işlemlerini etkinleştirir. Ortak video düzenlemesi uygulamalarına yönelik paylaşılan medya erişimi için bir PaaS hizmetiniz varsa, sayfa Blobları medyadaki rastgele konumlara hızlı erişim sağlar. Aynı medyayı birden çok kullanıcı tarafından hızlı ve verimli bir şekilde düzenlemenizi ve birleştirmeyi de sağlar.

Azure Site Recovery, Azure Backup gibi birinci taraf Microsoft hizmetlerinin yanı sıra birçok üçüncü taraf geliştirici, sayfa blobunun REST arabirimini kullanarak sektör lideri yeniliklere sahiptir. Azure 'da uygulanan benzersiz senaryolardan bazıları aşağıda verilmiştir:

  • Uygulamayla uyumlu Artımlı anlık görüntü yönetimi: uygulamalar, verilerin maliyetli bir şekilde çoğaltılmasını etkilemeden uygulama kontrol noktalarını kaydetmek için sayfa blob anlık görüntüleri ve REST API 'Lerinden yararlanabilir. Azure depolama, tüm Blobun kopyalanmasını gerektirmeyen sayfa Blobları için yerel anlık görüntüleri destekler. Bu genel anlık görüntü API 'leri, anlık görüntüler arasında değişimleri erişimini ve kopyalanmasını da sağlar.
  • Şirket içi veri kaynağından buluta dinamik olarak uygulama ve veri geçişi: şirket içi VM çalışmaya devam ederken doğrudan bir Azure sayfa blobuna yazmak için REST API 'Lerini kullanın. Hedef yakalandıktan sonra, bu verileri kullanarak Azure VM 'ye hızlı bir şekilde yük devreleyebilirsiniz. Bu şekilde, VM 'yi kullanmaya devam ederken veri geçişinin arka planda oluşması ve yük devretme için gereken kapalı kalma süresi kısa (dakika) olacağı için sanal makinelerinizi Şirket içinden buluta, en az kapalı kalma süresine geçirebilirsiniz.
  • Eşzamanlılık denetimi desteğiyle birden çok okuyucular ve tek yazıcı gibi senaryolara izin veren SAS tabanlı paylaşılan erişim.

Fiyatlandırma

Sayfa Blobları ile sunulan depolama türlerinin her ikisi de kendi fiyatlandırma modeline sahiptir. Premium sayfa Blobları yönetilen diskler fiyatlandırma modelini izler, ancak standart sayfa Blobları kullanılan boyutta ve her bir 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ını kullanarak geliştirmeyebaşlamak için aşağıdaki belgeye başvurun. Örnek olarak, .NET için depolama Istemci kitaplığı 'nı kullanarak sayfa bloblarına erişme bölümüne 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 boyuttaki boş bir Sayfa Blobu oluşturuluyor

İlk olarak, bir kapsayıcıya başvuru alın. Bir Sayfa Blobu oluşturmak için GetPageBlobClient metodunu çağırın ve ardından pageblobclient. Create yöntemini çağırın. Oluşturulacak blob 'un en büyük boyutunu 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 bir 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 blobuna sayfa yazma

Sayfa yazmak için Pageblobclient. UploadPages metodunu kullanın.

pageBlobClient.UploadPages(dataStream, startingOffset);

Bu, 4Mb 'a kadar sıralı bir sayfa kümesi yazmanızı sağlar. Yazılan sınırın 512 baytlık bir sınır (Startingkayması %512 = = 0) üzerinde başlaması ve bir 512 sınır-1 üzerinde bitmesi gerekir.

Blob hizmetinde ardışık bir sayfa kümesi için yazma isteği 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 istemciye başarılı 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. Uzunluğu 0 olan 1024 bayt uzaklığıyla başlayan bir Yazma işlemi
  2. 1024 uzunluğunun 4096 uzaklığında başlayan bir Yazma işlemi

Sayfa blobu 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, blobda herhangi bir farktan başlayarak tam blobu veya bayt aralığını indirmeye olanak sağlar. Okurken uzaklığın 512'nin katları üzerinde başlamasına gerek olmaz. Bir NUL sayfasından bayt okurken hizmet sıfır bayt döndürür.

Aşağıdaki şekilde, uzaklığı 256 ve aralık boyutu 4352 olan Bir Okuma işlemi gösterir. 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şlemi gösteren diyagram

Seyrek doldurulmuş bir blob'uz varsa, sıfır baytlık çıkış için ödeme yapmak ve indirme gecikmesini azaltmak için geçerli sayfa bölgelerini indirmeniz iyi olabilir.

Hangi sayfaların veri tarafından desteklen olduğunu belirlemek için PageBlobClient.GetPageRanges kullanın. Daha sonra döndürülen aralıkları numaralara indirebilirsiniz ve her aralıkta verileri indirebilirsiniz.

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

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

Sayfa Blobu kiralamaya

Kira blobu işlemi, blob üzerinde yazma ve silme işlemleri için bir kilit oluşturur ve yönetir. Bu işlem, tek seferde yalnızca bir istemcinin bloba yazılabilir olmasını sağlamak için birden fazla istemciden bir sayfa blobuna erişildiği senaryolarda faydalıdır. Örneğin, Azure diskleri, diskin yalnızca tek bir VM tarafından yönetildiğinden emin olmak için bu kira mekanizmasından yararlanır. Kilit süresi 15 ile 60 saniye arasında olabilir veya sonsuz olabilir. Daha ayrıntılı bilgi için buraya bakın.

Zengin REST API 'Lerine ek olarak, sayfa Blobları da paylaşılan erişim, dayanıklılık ve gelişmiş güvenlik sağlar. Bu avantajları sonraki paragraflarda daha ayrıntılı olarak ele alınacaktır.

Eşzamanlı erişim

Sayfa Blobları REST API ve Kiralama mekanizması, uygulamaların birden fazla istemciden sayfa blobuna erişmesini sağlar. Örneğin, birden çok kullanıcıyla depolama nesneleri paylaşan bir dağıtılmış bulut hizmeti oluşturmanız gerektiğini varsayalım. Bu, çok sayıda kullanıcıya büyük bir görüntü koleksiyonunu sunan bir Web uygulaması olabilir. Bunu uygulamaya yönelik bir seçenek, eklenen disklere sahip bir sanal makine kullanmaktır. Bu sayede, (i) bir diskin yalnızca tek bir VM 'ye iliştirilebildiği kısıtlama, esneklik ve daha fazla riskleri sınırlayan kısıtlamalar vardır. VM 'de veya VM 'de çalışan hizmette bir sorun varsa, kira süresi dolana veya kesilene kadar görüntü erişilemez olur; ve (II) IaaS VM 'ye sahip olmanın ek maliyeti.

Alternatif bir seçenek, sayfa bloblarını doğrudan Azure depolama REST API 'Leri aracılığıyla kullanmaktır. Bu seçenek, maliyetli IaaS sanal makineleri gereksinimini ortadan kaldırır, birden fazla istemciden doğrudan erişim esnekliği sunar, diskleri iliştirme/ayır ve VM 'deki sorunlar riskini ortadan kaldırarak klasik dağıtım modelini basitleştirir. Ayrıca, bir disk olarak 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 verilerini her zaman çoğaltılan dayanıklı depolamadır. Azure Depolama Yedekliliği hakkında daha fazla bilgi için bu belgelere bakın. 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 sınıf dayanıklılık sağlar.

Azure'a sorunsuz geçiş

Azure, kendi özelleştirilmiş yedekleme çözümlerini uygulamak isteyen müşteriler ve geliştiriciler için yalnızca deltaları bulunduran artımlı anlık görüntüler de sunar. Bu özellik, ilk tam kopyanın maliyetini önler ve bu da yedekleme maliyetini önemli ölçüde düşürer. Değişiklik verilerini verimli bir şekilde okuma ve kopyalama becerisinin yanı sıra, geliştiricilerden daha da fazla yenilik yapmaya olanak sağlayan ve Azure'da sınıfının en iyisi yedekleme ve olağanüstü durum kurtarma (DR) deneyimi sağlayan bir diğer güçlü özelliktir. Dr için artımlı verileri kolayca kopyalamak için kullanabileceğiniz Sayfa Aralıklarını Alma API'si ve Artımlı Kopyalama Blob API'si ile birlikte Blob Anlık Görüntüsü'nü kullanarak Azure'da VM'ler için kendi yedekleme veya DR çözümlerinizi kurabilirsiniz.

Ayrıca birçok kuruluş, şirket içi veri merkezlerinde zaten çalışan kritik iş yüklerini de içerir. İş yükünü buluta geçiş için en önemli sorunlardan biri, verileri kopyalamak için gereken kapalı kalma süresi ve geçiş sonrasında öngörülemeyen sorunlar riskidir. Çoğu durumda kapalı kalma süresi, buluta geçiş için bir ekranlı olabilir. Azure, sayfa bloblarını REST API, kritik iş yüklerinde en az kesintiyle bulut geçişini etkinleştirerek bu sorunu çözmektedir.

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